日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线程控制的基本方法

發(fā)布時(shí)間:2025/5/22 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程控制的基本方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

程序每次的運(yùn)行結(jié)果可能是不一樣的。這是因?yàn)槎鄠€(gè)線程在執(zhí)行時(shí)會(huì)搶占 CPU 資源,搶到之后才會(huì)執(zhí)行。而程序員是無法精準(zhǔn)控制這種搶奪情況的。盡管如此,Thread 類還提供了一些線程控制方法,雖不能精準(zhǔn)控制線程的搶奪情況,但能夠幫助我們更好的控制線程。

void start():使該線程開始執(zhí)行,Java 虛擬機(jī)負(fù)責(zé)調(diào)用該線程的 run() 方法。 void sleep(long millis):靜態(tài)方法,線程進(jìn)入阻塞狀態(tài),在指定時(shí)間(單位為毫秒)到達(dá)之后進(jìn)入就緒狀態(tài)。 void yield():靜態(tài)方法,當(dāng)前線程放棄占用 CPU 資源,回到就緒狀態(tài),使其他優(yōu)先級(jí)不低于此線程的線程有機(jī)會(huì)被執(zhí)行。 void join():只有當(dāng)前線程等待加入的線程完成,才能繼續(xù)往下執(zhí)行。 void interrupt():中斷線程的阻塞狀態(tài)(而非中斷線程),例如一個(gè)線程 sleep(1000000000) ,為了中斷這個(gè)過長(zhǎng)的阻塞過程,可以調(diào)用該線程的 interrupt() 方法,中斷阻塞。需要注意的是,此時(shí) sleep() 方法會(huì)拋出 InterruptedException 異常。 void isAlive():判定該線程是否處于活動(dòng)狀態(tài),處于就緒、運(yùn)行和阻塞狀態(tài)的都屬于活動(dòng)狀態(tài)。 void setPriority(int newPriority):設(shè)置當(dāng)前線程的優(yōu)先級(jí)。 int getPriority():獲得當(dāng)前線程的優(yōu)先級(jí)。

線程通常在三種情況下會(huì)終止,最普遍的情況是線程中的 run() 方法執(zhí)行完畢后線程終止,或者線程拋出了異常且未被捕獲,另外還有一種情況是調(diào)用當(dāng)前線程的 stop() 方法終止線程(該方法已被廢棄)。

總結(jié)

以上是生活随笔為你收集整理的线程控制的基本方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。