线程安全之核心要点

1. 临界区与数据竞争(竞态条件)

java代码

// sahred.java
int num = 0;	// 在多线程中对于共享资源存在数据竞争,竞态条件

// mutil.java
run(){
	num ++;		// 临界区
	
}
  • 通过上述代码可知
    • 临界区: 在并发多线程中执行一系列对共享资源的修改操作的代码区域,在该区域下的操作的执行结果会对其他线程产生影响,称该代码区域为临界区
    • 竞态条件: 表示并发多线程执行产生临界区的必要条件,也就是在临界区存在数据竞争,而数据竞争主要条件就是来源于多线程需要对共享资源执行读写操作,简言之就是多线程争夺共享资源的使用

猜你喜欢

转载自blog.csdn.net/wind_602/article/details/104091209