Java线程并发运行结果特点和读写改并发模式的控制

请关注我的微信公众号

Java线程并发运行结果特点和读写改并发模式的控制_第1张图片

个人微信公众号

技术交流群 (仅作技术交流):642646237

Java线程并发运行结果特点和读写改并发模式的控制_第2张图片

​请关注我的头条号:

Java线程并发运行结果特点和读写改并发模式的控制_第3张图片

Java线程

Java中,并发的基本单元是线程,可以将线程看作控制流(thread of control)。线程之间通过共享内存进行通信。

Java线程并发运行结果特点和读写改并发模式的控制_第4张图片

并发运行结果特点

并发运行结果依赖于时序,多次运行的结果并不稳定。

并发编程中如果某事可能会发生,那么不论多艰难它一定会发生,而且可能发生在最不利的时刻。

java加法是读-改-写(read-modify-write)模式

Java线程并发运行结果特点和读写改并发模式的控制_第5张图片

读-改-写(read-modify-write)模式并发控制

竞态条件的解决方案是对count进行同步(synchronize)访问——使用Java对象原生的内置锁(也被称为互斥锁(mutex)、管程(monitor)或临界区(critical section))来同步对increment()的调用

Java线程并发运行结果特点和读写改并发模式的控制_第6张图片

对于这种只涉及一个变量的互斥场景,使用java.util.concurrnet.atomic包是更好的选择

你可能感兴趣的:(Java线程并发运行结果特点和读写改并发模式的控制)