文章插图
保证线程安全以是否需要同步手段分类,分为同步方案和无需同步方案 。如下:
1、互斥同步 。
互斥同步是最常见的一种并发正确性保障手段 。同步是指在多线程并发访问共享数据时,保证共享数据在同一时刻只被一个线程使用(同一时刻,只有一个线程在操作共享数据) 。而互斥是实现同步的一种手段,临界区、互斥量和信号量都是主要的互斥实现方式 。因此,在这4个字里面,互斥是因,同步是果;互斥是方法,同步是目的 。
2、非阻塞同步 。
随着硬件指令集的发展,出现了基于冲突检测的乐观并发策略,通俗地说,就是先进行操作,如果没有其他线程争用共享数据,那操作就成功了;如果共享数据有争用,产生了冲突,那就再采用其他的补偿措施 。(最常见的补偿错误就是不断地重试,直到成功为止),这种乐观的并发策略的许多实现都不需要把线程挂起,因此这种同步操作称为非阻塞同步 。
3、无需同步方案 。
【jvm如何保证线程安全 如何保证线程安全】要保证线程安全,并不是一定就要进行同步,两者没有因果关系 。同步只是保证共享数据争用时的正确性的手段,如果一个方法本来就不涉及共享数据,那它自然就无需任何同步操作去保证正确性,因此会有一些代码天生就是线程安全的 。
- 微信收款如何改店名 微信收款怎么改成店名
- 新版qq影音如何合并音乐 qq音乐合并音乐
- 引体向上如何摆动
- 冷冻鸡翅如何彻底去腥
- 火山视频怎么快速删除 如何快速删除火山视频
- 苹果录屏如何高画质 苹果录屏画质怎么提高
- 怎么把手机号设置关机 手机号码如何设置关机
- 蜂蜜怎么做面膜最好
- 醒图中如何将抠图存为贴纸 醒图怎么把抠图保存到贴纸
- 松果电单车怎么充电 松果电单车如何充电