软件构造 并发2

Posted xgl122

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件构造 并发2相关的知识,希望对你有一定的参考价值。

交织竞争条件
在某时刻一个运行核心只有一个线程可以运行。   进程/线程采用OS提供的时间片特征来共享处理时间。
当线程数多于处理器数量时,并发性通过时间片来模拟,处理器切换处理不同的线程。
例子:时间片(其使用是不可预知的,非确定性的,意味着线程可能随时暂停或恢复)
           三个线程T1 T2 T3可能在具有两个实际处理器的机器上进行时间分割,一个处理器运行线程T1,另一个运行线程T2,第二个处理器切换到运行线程T3.
                                                                                                                           线程T2只是暂停,直到下一个时间片在同一个处理器或另一个处理器上
          共享内存银行存储实例:在Java中,采用happened-before机制,保证了语句A内存的写 入对语句B是可见的,也就是在B开始读数据之前,A已经完成了数据 的写入。 确保内存一致性
                                                  每次运行包含竞争条件的程序时,都可能会得到不同 的行为。  

                                                  打印 调试操作很慢,通常慢100-1000倍,所有有时打印出来的并不是想要的该时间段的结果                                                

                  

 








以上是关于软件构造 并发2的主要内容,如果未能解决你的问题,请参考以下文章

软件构造复习内容(10)---并发

软件构造 并发1

软件构造 并发3(线程安全性)

软件构造第十章 线程和分布式系统

软件构造 并发3(线程安全性)----锁定和同步

软件构造课程提纲