软件构造 并发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的主要内容,如果未能解决你的问题,请参考以下文章