1什么是并发型编程
并发的两个模型
(1)共享内存(2)消息传递
2进程、线程、时间切片
并发模块的类型:进程和线程
进程:私有空间,彼此隔离 线程:程序内部的控制机制
(1)进程
拥有整台计算机的资源,多进程间不共享内存,进程之间通过消息传递进行协作。
(2)线程
进程=虚拟机;线程=虚拟CPU
线程共享内存(3) Starting a thread in Java
1从thread类派生
2从runnable派生
其中就不得不提及匿名类
对于线程的问题其关键就在于run这个函数。
3交错与竞争
(1)时间分片
如上述:线程也就是进程的cpu。
(2)线程间的共享内存
共享内存可能导致bug
(3)竞争条件
两个线程竞争(4) Message Passing Example
两者皆模块化
(5) Concurrency is hard to test and
debug
解决办法print比这些其他操作要慢所以别的花费时间安排也慢
(6)利用某些方法调用来主动影响线程之间的interleaving关系
interrupt 有礼貌的申请打断
留给软件构造课程的意见,希望能够写一个自己的讲义,不要留这种半翻译没翻译的讲义啊,讲课可以但复习真的太不行了!