瞭解LockSupport工具類

介紹:

  在網上也沒有找到太多的東西,大概說了一下,這個工具類的全部方法都是靜態的,底層採用UNSAFE直接操做的內存,能夠實現線程的阻塞和喚醒編程

 

 能夠看到他的park方法調用的是UNSAFE的park方法網絡

 

 而UNSAFE的park方法是一個native方法,調用的C的類庫了,沒辦法繼續看下去了,由於我也不會C併發

因此咱們大概知道這麼多就能夠了,固然有一點很是重要,那就是LockSupport在進行線程阻塞和喚醒的時候是不須要獲取鎖的工具

做用:

  park:阻塞一個線程線程

  unpark:喚醒一個線程blog

  他是構建同步組件的基礎工具繼承

爲何說是構建同步組件的基礎工具呢,是由於AQS中的阻塞和喚醒就是基於LockSupport作的內存

 

 而ReentrantLock中的Sync又是繼承了AQS來完成的鎖,因此說他是構建同步組件的基礎工具開發

好了,瞭解這些就足夠了,再深層次的,就不是這個階段,所能看得懂的了同步

我看網上都寫了一個小Demo,我覺的沒有太大的實際意義,至少我在開發中,歷來沒有直接用過LockSupport,你們就當擴充一下知識,圖個樂呵

做者:彼岸舞

時間:2020\11\04

內容關於:併發編程

本文來源於網絡,只作技術分享,一律不負任何責任

相關文章
相關標籤/搜索