成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

java 線程狀態(tài) 身為一個程序員,如何優(yōu)雅的結束一個線程?

身為一個程序員,如何優(yōu)雅的結束一個線程?謝謝你的邀請!在回答之前,讓我們先看看線程的幾種狀態(tài)以及狀態(tài)切換的過程,如下圖所示(我不想畫,在線盜竊):線程退出必須是初始化后的任何狀態(tài)(不包括終止狀態(tài))退出

身為一個程序員,如何優(yōu)雅的結束一個線程?

謝謝你的邀請

!在回答之前,讓我們先看看線程的幾種狀態(tài)以及狀態(tài)切換的過程,如下圖所示(我不想畫,在線盜竊):

線程退出必須是初始化后的任何狀態(tài)(不包括終止狀態(tài))退出。

線程在啟動后獨立運行。正常情況下,他們不能在啟動后進行干預。他們只能等待跑步的結束。如果他們想干預,他們只能在共享內存區(qū)域中添加一個狀態(tài)標識符。實際上,JDK已經有了一個內置的狀態(tài)標識符,即中斷標識符。它調用中斷方法,但是處于等待狀態(tài)的線程將拋出中斷異常,并且它可以優(yōu)化add狀態(tài)變量。

總結起來,有三種方法:

1。等待線程完成自己的執(zhí)行(這是最優(yōu)雅的,但沒有討論的意義)。

2. 調用中斷方法判斷中斷標識。但是,在等待狀態(tài)下,會拋出異常,不能認為是優(yōu)雅的。示例代碼如下:

3。自己添加中斷狀態(tài)標志。示例代碼如下:

摘要:

等待狀態(tài):在此狀態(tài)下,exit只能調用中斷方法。

阻塞狀態(tài):有兩種類型:一種是可中斷的,調用中斷方法退出;另一種是不可中斷的,只有運行后才能退出。

就緒狀態(tài):等待CPU調度,無干預。

運行狀態(tài):添加您自己的共享狀態(tài)標識符。

最后的“優(yōu)雅退出”代碼如下: