线程安全-互斥同步

线程安全-互斥同步

互斥同步

非阻塞同步

无同步方案

1. 互斥同步

同步的互斥实现方式:

临界区(Cirtical Section),

互斥量(Mutex)

信号量(Semaphone)

synchronized关键字: 经过编译后, 会在 同步块前后形成 monitorenter 和 monitorexit两个字节码

1, synchronized同步块对自己是 可重入的, 不会将自己锁死

2, 同步块在已进入的 线程执行完之前, 会阻塞后面其他线程的进入

实现 互斥同步的 另外1种方式

重入锁ReentrantLock (java.util.concurrent)

相比采用 synchronized, 重入锁可实现: 等待可中断, 公平锁, 锁可以绑定多个条件

synchronized, 表现为原生语法层面的 互斥锁,

reentrantlock, 表现为api层面的 互斥锁

参考链接

https://www.xuetangx.com/learn/THU08091000252/THU08091000252/7754101/video/12732938?channel=i.area.manual_search

posted on 2021-11-06 16:04  beyondx  阅读(41)  评论(0编辑  收藏  举报

导航