LockSupport
生活随笔
收集整理的這篇文章主要介紹了
LockSupport
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LockSupport類是Java6引入的一個類,提供了基本的線程同步原語。LockSupport實際上是調用了Unsafe類里的函數,歸結到Unsafe里,只有兩個函數
unpark函數為線程提供“許可(permit)”,線程調用park函數則等待“許可”。這個有點像信號量,但是這個“許可”是不能疊加的,“許可”是一次性的。?
permit相當于0/1的開關,默認是0,調用一次unpark就加1變成了1.調用一次park會消費permit,又會變成0。?如果再調用一次park會阻塞,因為permit已經是0了。直到permit變成1.這時調用unpark會把permit設置為1.每個線程都有一個相關的permit,permit最多只有一個,重復調用unpark不會累積
?
總結
以上是生活随笔為你收集整理的LockSupport的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: parkAndCheckInterrup
- 下一篇: 锁的释放流程-ReentrantLock