1什么是并发型编程 并发的两个模型 (1)共享内存(2)消息传递 2进程、线程、时间切片 并发模块的类型:进程和线程 进程:私有空间,彼此隔离 线程:程序内部的控制机制 (1)进程 拥有整台计算机的资源,多进程间不共享内存,进程之间通过消息传递进行协作。 (2)线程 进程=虚拟机;线程=虚拟CPU 线程共享内存(3) Starting a thread in Java1从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 有礼貌的申请打断 留给软件构造课程的意见,希望能够写一个自己的讲义,不要留这种半翻译没翻译的讲义啊,讲课可以但复习真的太不行了!