临界区与竞态条件

Posted 杀手不太冷!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了临界区与竞态条件相关的知识,希望对你有一定的参考价值。

临界区与竞态条件

一个程序运行多个线程本身是没有问题的

问题出在多个线程访问共享资源

多个线程读共享资源其实也没有问题

在多个线程对共享资源读写操作时发生指令交错,就会出现问题

一段代码内存在共享资源,并且多个线程可以对这部分共享资源进行读写操作,那么这段代码的区域就叫做临界区,如下:

static int counter=0;

static void increment()
//临界区
{
    counter++;
}
//临界区
static void decrement(){
	counter--;
}

竞态条件:多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。

以上是关于临界区与竞态条件的主要内容,如果未能解决你的问题,请参考以下文章