Java之多线程(1)

2008年5月3日 | 分类: 后端语言 | 标签:

线程是操作调用的基本单位

进程是资源分配的基本单位,拥有独立的地址空间

春游中,以班为单位申请春游资源,每个同学春游回来之后需要给校长做Report,一次仅一个同学和校长做Report。一个班里的同学可以在黑板上写东西做交流。不同班的同学则不行。

 

为什么多线程??

问题空间需要并发的需求  问题:并发,并行,同步,异步,同步之间的区别?多核就是多个ALU(算数运算单元)

同步 摘一个并扔一个,接一个。双方动作协调  (狗熊掰棒子)  在课程中借用了同步的概念,多个线程共享同步代码段,这个过程称为同步,实际意义是不同的

异步 发者和接者的关系是独立的,狗熊掰了一堆棒子,放在空地上,然后另外一个可以单个或多个一起拿回去。

并发 并发是并行的一种模拟,一般用时间片轮换的方法

并行 两个程序一起进行,在多个CPU的时候能够实现,但是单CPU的时候是不能实现的,只能模拟。利用并发

并行和并发是操作系统层面,和进程线程关系不大。

Everything is object

要创建一个线程就要写一个类实现java.lang.Runnable或继承类java.lang.Thread

线程的不确定执行造成多线程程序很难调试

问题:两个枪手互射,如何设计算法使得更公平。

目前还没有任何评论.
注意: 评论者允许使用'@user:'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC:'(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。