保证线程安全以是否需要同步手段分类,分为同步方案和无需同步方案 。如下:
1、互斥同步 。
互斥同步是最常见的一种并发正确性保障手段 。同步是指在多线程并发访问共享数据时,保证共享数据在同一时刻只被一个线程使用(同一时刻,只有一个线程在操作共享数据) 。而互斥是实现同步的一种手段,临界区、互斥量和信号量都是主要的互斥实现方式 。因此,在这4个字里面,互斥是因,同步是果;互斥是方法,同步是目的 。【多线程如何保证线程安全 如何保证线程安全】
2、非阻塞同步 。
随着硬件指令集的发展,出现了基于冲突检测的乐观并发策略,通俗地说,就是先进行操作,如果没有其他线程争用共享数据,那操作就成功了;如果共享数据有争用,产生了冲突,那就再采用其他的补偿措施 。(最常见的补偿错误就是不断地重试,直到成功为止),这种乐观的并发策略的许多实现都不需要把线程挂起,因此这种同步操作称为非阻塞同步 。
3、无需同步方案 。
要保证线程安全,并不是一定就要进行同步,两者没有因果关系 。同步只是保证共享数据争用时的正确性的手段,如果一个方法本来就不涉及共享数据,那它自然就无需任何同步操作去保证正确性,因此会有一些代码天生就是线程安全的 。
相关经验推荐
- 如何取消花呗的周 花呗周卡怎么关闭
- 新版qq影音如何合并音乐 qq影音怎么把音乐合在一起
- 2022郑州高考市各区县 2021年郑州市有多少高考考生
- 2022福建高考要提前多久回福建 2020福建高考几天
- 台州一亿消费劵如何申领使用 台州一亿消费劵如何申领
- 鹅肉怎么炖最好吃 如何炖鹅最好吃
- 率的组词和多音字 率的组词
- 台州普通话等级考试报名费多少钱
- 台州低保金怎么查询发放情况 台州市低保标准是多少
- 2022台州低保多少钱一个月 2020年低保新政策一个月多少钱温州市