中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Java線程同步的優先級介紹

發布時間:2021-11-20 18:03:35 來源:億速云 閱讀:137 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何進行Java線程同步的優先級介紹,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Java線程同步在使用的時候需要我們主要很多的事情,下面我們就來看看如何才能更好的使用這個語法呢?首先我們來看看線程的四種狀態,希望大家在這個之中最找到很多自己需要的。

1、新狀態:線程已被創建但尚未執行(start() 尚未被調用)。

2、可執行狀態:線程可以執行,雖然不一定正在執行。CPU 時間隨時可能被分配給該線程,從而使得它執行。

3、阻塞狀態:線程不會被分配 CPU 時間,無法執行;可能阻塞于I/O,或者阻塞于同步鎖。

4、死亡狀態:正常情況下run() 返回使得線程死亡。調用 stop()或 destroy() 亦有同樣效果,但是不被推薦,前者會產生異常,后者是強制終止,不會釋放鎖。

Java線程同步的優先級

線程的優先級代表該線程的重要程度,當有多個線程同時處于可執行狀態并等待獲得 CPU 時間時,線程調度系統根據各個線程的優先級來決定給誰分配 CPU 時間,優先級高的線程有更大的機會獲得 CPU 時間,優先級低的線程也不是沒有機會,只是機會要小一些罷了。

  • Java線程同步引用基本代碼介紹

  • Java線程控制權源代碼的深入探討

  • Java線程同步問題在實踐中尋找答案

  • Java線程通信源代碼中的奧秘探究

  • Java線程返回值如何控制自己的未來

你可以調用 Thread 類的方法 getPriority() 和 setPriority()來存取線程的優先級,線程的優先級界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之間,缺省是5(NORM_PRIORITY)。

Java線程同步

由于同一進程的多個線程共享同一片存儲空間,在帶來方便的同時,也帶來了訪問沖突這個嚴重的問題。Java語言提供了專門機制以解決這種沖突,有效避免了同一個數據對象被多個線程同時訪問。

我們只需針對方法提出一套機制,這套機制就是 synchronized 關鍵字,它包括兩種用法:synchronized 方法和 synchronized 塊。

synchronized 方法:通過在方法聲明中加入synchronized關鍵字來聲明 synchronized 方法。synchronized 方法控制對類成員變量的訪問:每個類實例對應一把鎖,每個 synchronized 方法都必須獲得調用該方法的類實例的鎖方能執行,否則所屬線程阻塞,方法一旦執行,就獨占該鎖,直到從該方法返回時才將鎖釋放,此后被阻塞的線程方能獲得該鎖,重新進入可執行狀態。

這種機制確保了同一時刻對于每一個類實例,其所有聲明為 synchronized 的成員函數中至多只有一個處于可執行狀態(因為至多只有一個能夠獲得該類實例對應的鎖),從而有效避免了類成員變量的訪問沖突(只要所有可能訪問類成員變量的方法均被聲明為 synchronized)。

在 Java線程同步中,不光是類實例,每一個類也對應一把鎖,這樣我們也可將類的靜態成員函數聲明為 synchronized,以控制其對類的靜態成員變量的訪問。

關于如何進行Java線程同步的優先級介紹就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汕尾市| 巴中市| 兴业县| 博乐市| 常宁市| 清流县| 崇仁县| 乐亭县| 子洲县| 富源县| 义马市| 绥中县| 华蓥市| 鹿泉市| 天门市| 石门县| 葫芦岛市| 朔州市| 柘荣县| 施甸县| 东乌| 丰宁| 山阳县| 广河县| 娱乐| 静宁县| 勐海县| 息烽县| 阳谷县| 杭州市| 鄂托克前旗| 镇赉县| 胶州市| 昌黎县| 宝兴县| 海门市| 九龙城区| 武山县| 六安市| 昌宁县| 乌兰察布市|