0
点赞
收藏
分享

微信扫一扫

临界区和竞态条件

码农K 2022-02-16 阅读 119
java

这里写目录标题

临界区

一段代码块内如果存在对共享资源的多线程读写操作,称这段代码块为临界区,其共享资源为临界资源。

竞态条件

多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。
为了避免临界区的竞态条件发生,有多种手段可以达到目的:

  • 阻塞式的解决方案:synchronized,lock
  • 非阻塞式的解决方案:原子变量
public class Demo{
	// 临界资源
	private static int count = 0;
	// 临界区
	public void incr(){
        count++;
    }
    // 临界区
	public void decr(){
        count--;
    }

	// TODO 多线程调用 incr和 decr 方法
}
举报

相关推荐

0 条评论