关于java线程模型的概念

12-02-13 KenWT
         

如题,java线程模型是什么?这个概念产生的前因后果又是什么?它存在的意义又是什么呢?希望大家能给个准确的答案

         

1
KenWT
2012-02-13 14:23

是不是这个问题太初级了,大家怎么没人指导呢?依我目前对线程理论的认识,就知道线程的实现方式,线程的调度方式。关于模型,做Java的人知道有个Java内存模型,Java的内存模型是围绕并发过程中如何处理原子性,可见性和有序性来建立的,那线程模型的引入是为了解决处理什么问题呢?难道是线程安全?这里仅仅是揣测而已,希望对这个领域有深入理解的道友慷慨赐教,不甚感激

[该贴被KenWT于2012-02-13 14:25修改过]

banq
2012-02-13 15:21

2012年02月13日 14:23 "@KenWT"的内容
那线程模型的引入是为了解决处理什么问题呢?难道是线程安全 ...

线程模型是否应该包括多线程和线程安全两个方面,为什么需要多线程,在你以前帖子有谈及

因为有了多线程,那么就有资源争夺,单线程没有争夺,但是两个线程玩了,只有一个果果,给谁吃呢?这就需要一套线程安全模型来解决。

是这个意思吗?

KenWT
2012-02-13 15:47

2012年02月13日 15:21 "@banq"的内容
程模型是否应该包括多线程和线程安全两个方面,为什么需要多线程,在你以前帖子有谈及。 ...

尊敬的帮主,谢谢您对该问题的关注。关于线程模型的准确理论上的定义,我希望您能给你明确的解答,而不是是否应该,或者也许之类含糊其辞的回答。就线程方面的理论,我现在在系统总结,目前就总结了线程的实现方式,线程的调度方式,线程安全,线程锁的相关机制,都是有问题导向去一步步认识的,但是对这个线程模型的概念,还真是比较糊涂,也不知道到底那本书,那个专家给得定义,反正网上搜到的答案真正切题的真是寥寥无几,所以在这儿请教大家,欢迎拍砖,望众道友们踊跃赐教,谢谢大家!

jdon007
2012-02-14 08:48

线程模型: 时间 (cpu时间片)

前因后果和意义: 节约时间 (不浪费cpu的时间)

并发模型有两种:

1)状态共享并发 (同步,比如Java)

2)消息传递并发 (消息传递,比如Erlang)。

线程(并发)或进程(并行)的编程,于我个人而言,更多的是关于时间统筹的技艺。

上述为个人之所见,仅供参考。

要权威的答案,自然是去权威的书上去找。

在Jdon或其它技术网上恐怕不易。

推荐参考书:

1) Doug Lea 《Concurrenct Programming in Java Design Principles and Patterns》

2) W.Richard Stevens 《Unix 网络编程》 第2卷:进程间通信