偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java線(xiàn)程同步的優(yōu)先級(jí)介紹

開(kāi)發(fā) 后端
Java線(xiàn)程同步在不斷的學(xué)習(xí)中已經(jīng)形成了一種套路。首先我們開(kāi)始看看Java線(xiàn)程同步的四種狀態(tài)。希望大家有所收獲。

Java線(xiàn)程同步在使用的時(shí)候需要我們主要很多的事情,下面我們就來(lái)看看如何才能更好的使用這個(gè)語(yǔ)法呢?首先我們來(lái)看看線(xiàn)程的四種狀態(tài),希望大家在這個(gè)之中最找到很多自己需要的。

1、新?tīng)顟B(tài):線(xiàn)程已被創(chuàng)建但尚未執(zhí)行(start() 尚未被調(diào)用)。

2、可執(zhí)行狀態(tài):線(xiàn)程可以執(zhí)行,雖然不一定正在執(zhí)行。CPU 時(shí)間隨時(shí)可能被分配給該線(xiàn)程,從而使得它執(zhí)行。

3、阻塞狀態(tài):線(xiàn)程不會(huì)被分配 CPU 時(shí)間,無(wú)法執(zhí)行;可能阻塞于I/O,或者阻塞于同步鎖。

4、死亡狀態(tài):正常情況下run() 返回使得線(xiàn)程死亡。調(diào)用 stop()或 destroy() 亦有同樣效果,但是不被推薦,前者會(huì)產(chǎn)生異常,后者是強(qiáng)制終止,不會(huì)釋放鎖。

Java線(xiàn)程同步的優(yōu)先級(jí)

線(xiàn)程的優(yōu)先級(jí)代表該線(xiàn)程的重要程度,當(dāng)有多個(gè)線(xiàn)程同時(shí)處于可執(zhí)行狀態(tài)并等待獲得 CPU 時(shí)間時(shí),線(xiàn)程調(diào)度系統(tǒng)根據(jù)各個(gè)線(xiàn)程的優(yōu)先級(jí)來(lái)決定給誰(shuí)分配 CPU 時(shí)間,優(yōu)先級(jí)高的線(xiàn)程有更大的機(jī)會(huì)獲得 CPU 時(shí)間,優(yōu)先級(jí)低的線(xiàn)程也不是沒(méi)有機(jī)會(huì),只是機(jī)會(huì)要小一些罷了。#t#

你可以調(diào)用 Thread 類(lèi)的方法 getPriority() 和 setPriority()來(lái)存取線(xiàn)程的優(yōu)先級(jí),線(xiàn)程的優(yōu)先級(jí)界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之間,缺省是5(NORM_PRIORITY)。

Java線(xiàn)程同步

由于同一進(jìn)程的多個(gè)線(xiàn)程共享同一片存儲(chǔ)空間,在帶來(lái)方便的同時(shí),也帶來(lái)了訪(fǎng)問(wèn)沖突這個(gè)嚴(yán)重的問(wèn)題。Java語(yǔ)言提供了專(zhuān)門(mén)機(jī)制以解決這種沖突,有效避免了同一個(gè)數(shù)據(jù)對(duì)象被多個(gè)線(xiàn)程同時(shí)訪(fǎng)問(wèn)。

我們只需針對(duì)方法提出一套機(jī)制,這套機(jī)制就是 synchronized 關(guān)鍵字,它包括兩種用法:synchronized 方法和 synchronized 塊。

synchronized 方法:通過(guò)在方法聲明中加入synchronized關(guān)鍵字來(lái)聲明 synchronized 方法。synchronized 方法控制對(duì)類(lèi)成員變量的訪(fǎng)問(wèn):每個(gè)類(lèi)實(shí)例對(duì)應(yīng)一把鎖,每個(gè) synchronized 方法都必須獲得調(diào)用該方法的類(lèi)實(shí)例的鎖方能執(zhí)行,否則所屬線(xiàn)程阻塞,方法一旦執(zhí)行,就獨(dú)占該鎖,直到從該方法返回時(shí)才將鎖釋放,此后被阻塞的線(xiàn)程方能獲得該鎖,重新進(jìn)入可執(zhí)行狀態(tài)。

這種機(jī)制確保了同一時(shí)刻對(duì)于每一個(gè)類(lèi)實(shí)例,其所有聲明為 synchronized 的成員函數(shù)中至多只有一個(gè)處于可執(zhí)行狀態(tài)(因?yàn)橹炼嘀挥幸粋€(gè)能夠獲得該類(lèi)實(shí)例對(duì)應(yīng)的鎖),從而有效避免了類(lèi)成員變量的訪(fǎng)問(wèn)沖突(只要所有可能訪(fǎng)問(wèn)類(lèi)成員變量的方法均被聲明為 synchronized)。

在 Java線(xiàn)程同步中,不光是類(lèi)實(shí)例,每一個(gè)類(lèi)也對(duì)應(yīng)一把鎖,這樣我們也可將類(lèi)的靜態(tài)成員函數(shù)聲明為 synchronized,以控制其對(duì)類(lèi)的靜態(tài)成員變量的訪(fǎng)問(wèn)。
 

責(zé)任編輯:張浩 來(lái)源: 博客園
相關(guān)推薦

2009-08-28 17:10:59

C#線(xiàn)程優(yōu)先級(jí)

2025-02-03 08:23:33

2009-08-12 13:07:13

C#運(yùn)算符優(yōu)先級(jí)

2020-06-04 08:36:55

Linux內(nèi)核線(xiàn)程

2012-08-14 09:38:29

WAN優(yōu)化

2010-09-01 14:10:36

CSS優(yōu)先級(jí)

2025-07-30 00:00:01

優(yōu)先級(jí)線(xiàn)程池排序

2022-12-23 09:41:14

優(yōu)先級(jí)反轉(zhuǎn)

2024-12-03 00:44:50

2024-05-20 10:03:15

線(xiàn)程池優(yōu)先級(jí)隊(duì)列排序方法

2023-06-30 19:44:56

CPU調(diào)頻線(xiàn)程

2020-09-30 09:07:37

DevOps

2021-04-06 10:45:18

React前端優(yōu)先級(jí)

2022-06-02 09:29:55

線(xiàn)程組線(xiàn)程樹(shù)狀結(jié)構(gòu)

2010-09-13 17:30:07

CSS優(yōu)先級(jí)

2010-08-31 11:04:48

CSS優(yōu)先級(jí)

2010-09-06 14:53:27

CSS優(yōu)先級(jí)

2023-11-03 08:22:09

Android系統(tǒng)算法

2025-05-26 09:40:02

!importantCSS 優(yōu)先級(jí)開(kāi)發(fā)

2024-04-30 11:00:10

數(shù)據(jù)中心
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)