临界区与竞态条件
Posted 杀手不太冷!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了临界区与竞态条件相关的知识,希望对你有一定的参考价值。
临界区与竞态条件
一个程序运行多个线程本身是没有问题的
问题出在多个线程访问共享资源
多个线程读共享资源其实也没有问题
在多个线程对共享资源读写操作时发生指令交错,就会出现问题
一段代码内存在共享资源,并且多个线程可以对这部分共享资源进行读写操作,那么这段代码的区域就叫做临界区,如下:
static int counter=0;
static void increment()
//临界区
{
counter++;
}
//临界区
static void decrement(){
counter--;
}
竞态条件:多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。
以上是关于临界区与竞态条件的主要内容,如果未能解决你的问题,请参考以下文章
java并发 day02 临界区和竞态条件synchronized线程安全 对象头 Monitor管程 wait notifypark&unpark ReentrantLock
java并发 day02 临界区和竞态条件synchronized线程安全 对象头 Monitor管程 wait notifypark&unpark ReentrantLock
java并发 day02 临界区和竞态条件synchronized线程安全 对象头 Monitor管程 wait notifypark&unpark ReentrantLock