文章插图
保证线程安全以是否需要同步手段分类,分为同步方案和无需同步方案 。如下:
1、互斥同步 。
互斥同步是最常见的一种并发正确性保障手段 。同步是指在多线程并发访问共享数据时,保证共享数据在同一时刻只被一个线程使用(同一时刻,只有一个线程在操作共享数据) 。而互斥是实现同步的一种手段,临界区、互斥量和信号量都是主要的互斥实现方式 。因此 , 在这4个字里面,互斥是因,同步是果;互斥是方法,同步是目的 。
【如何保证线程安全 什么是线程安全,如何保证线程安全】2、非阻塞同步 。
随着硬件指令集的发展,出现了基于冲突检测的乐观并发策略,通俗地说,就是先进行操作,如果没有其他线程争用共享数据,那操作就成功了;如果共享数据有争用 , 产生了冲突,那就再采用其他的补偿措施 。(最常见的补偿错误就是不断地重试,直到成功为止) , 这种乐观的并发策略的许多实现都不需要把线程挂起,因此这种同步操作称为非阻塞同步 。
3、无需同步方案 。
要保证线程安全,并不是一定就要进行同步,两者没有因果关系 。同步只是保证共享数据争用时的正确性的手段,如果一个方法本来就不涉及共享数据 , 那它自然就无需任何同步操作去保证正确性,因此会有一些代码天生就是线程安全的 。
- 花呗周卡怎么关闭 如何关闭花呗周周省
- 120g固态硬盘分区方案 120g硬盘如何分区
- 儿童联合疫苗效果如何? 儿童联合疫苗效果如何查询
- 女士穿高跟鞋怎么预防脚臭 高跟鞋如何防臭
- 怎么样清洗热水器内胆水垢 如何自己清理热水器内胆里的水垢
- 如何恢复充电宝容量 充电宝储存电量降低怎么办
- 如何快充手机 怎么快充手机
- 如何手动对焦 佳能r5如何手动对焦
- 如何用石灰改良酸性土壤 石灰可以改良碱性土壤
- 怎么语音召唤小爱 如何直接召唤小爱