亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) Java Java基礎(chǔ) thread.sleep的作用是什麼

thread.sleep的作用是什麼

Jun 15, 2020 am 11:52 AM
java

thread.sleep的作用是什麼thread.sleep的作用是什麼:

(一)CPU競(jìng)爭(zhēng)策略

#在作業(yè)系統(tǒng)中,CPU競(jìng)爭(zhēng)有很多策略,Unix系統(tǒng)採(cǎi)用的是時(shí)間片演算法,而Windows採(cǎi)用的是搶佔(zhàn)式的。

(1).

在時(shí)間片演算法中,所有的行程都排成一個(gè)佇列。作業(yè)系統(tǒng)按照他們的順序,給每個(gè)進(jìn)程分配一段時(shí)間,也就是該進(jìn)程允許運(yùn)行的時(shí)間。如果在 時(shí)間片結(jié)束時(shí)進(jìn)程還在運(yùn)行,則CPU將被剝奪並分配給另一個(gè)進(jìn)程。如果進(jìn)程在時(shí)間片結(jié)束前阻塞或結(jié)束,則CPU當(dāng)即進(jìn)行切換。調(diào)度程 序所要做的就是維護(hù)一張就緒行程列表,,當(dāng)行程用完它的時(shí)間片後,它被移到佇列的末端。

(2).

搶佔(zhàn)式作業(yè)系統(tǒng),就是說(shuō)如果一個(gè)行程得到了 CPU 時(shí)間,除非它自己放棄使用 CPU ,否則將完全霸佔(zhàn) CPU 。因此可以看出,在搶佔(zhàn)式作業(yè)系統(tǒng)中,作業(yè)系統(tǒng)假設(shè)所有的進(jìn)程都是「人品很好」的,會(huì)主動(dòng)退出 CPU 。在搶佔(zhàn)式作業(yè)系統(tǒng)中,假設(shè)有若干進(jìn)程,作業(yè)系統(tǒng)會(huì)根據(jù)他們的優(yōu)先權(quán)、飢餓時(shí)間(已經(jīng)多久沒(méi)有使用過(guò) CPU 了),給他們算出一 個(gè)總的優(yōu)先權(quán)來(lái)。作業(yè)系統(tǒng)就會(huì)把 CPU 交給總優(yōu)先權(quán)最高的這個(gè)行程。當(dāng)行程執(zhí)行完畢或自己主動(dòng)掛起後,作業(yè)系統(tǒng)就會(huì)重新計(jì)算一次所有行程的總優(yōu)先權(quán),然後再挑一個(gè)優(yōu)先級(jí)最高的把 CPU 控制權(quán)交給他。

(二)據(jù)上所述,總結(jié)Thread.Sleep()的作用就是告訴作業(yè)系統(tǒng)「在未來(lái)的毫秒內(nèi)我不參與CPU競(jìng)爭(zhēng)」;

那麼有兩個(gè)問(wèn)題:

(1).Thread.Sleep(0)的作用是啥?

Thread.Sleep(0)的作用就是「觸發(fā)作業(yè)系統(tǒng)立刻重新進(jìn)行一次CPU競(jìng)賽」。競(jìng)爭(zhēng)的結(jié)果也許是當(dāng)前執(zhí)行緒仍然獲得CPU控制權(quán),也許換成別的執(zhí)行緒取得CPU控制權(quán)。這也是我們?cè)诖笱h(huán)裡面常常會(huì)寫(xiě)一句Thread.Sleep(0) ,因?yàn)檫@樣就給了其他線(xiàn)程比如Paint線(xiàn)程獲得CPU控制權(quán)的權(quán)力,這樣界面就不會(huì)假死在那裡。

(2).假設(shè)現(xiàn)在呼叫了Thread.Sleep(1000),那麼在1秒以後這個(gè)執(zhí)行緒一定會(huì)被喚醒麼?

答案是:不一定。因?yàn)槟阒皇歉嬖V作業(yè)系統(tǒng):在未來(lái)的1000毫秒內(nèi)我不想再參與CPU競(jìng)賽。那麼1000毫秒過(guò)去之後,這時(shí)候也許另外一個(gè)執(zhí)行緒正在使用CPU,那麼這時(shí)候作業(yè)系統(tǒng)是不會(huì)重新分配CPU的,直到那個(gè)執(zhí)行緒掛起或結(jié)束;況且,即使這個(gè)時(shí)候剛好輪到作業(yè)系統(tǒng)進(jìn)行CPU 分配,那麼當(dāng)前執(zhí)行緒也不一定就是總優(yōu)先權(quán)最高的那個(gè),CPU還是可能被其他執(zhí)行緒搶佔(zhàn)去。

推薦教學(xué): 《java教學(xué)

#

以上是thread.sleep的作用是什麼的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話(huà)題

Laravel 教程
1597
29
PHP教程
1488
72
VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶(hù)級(jí)或工作區(qū)級(jí)路徑,用於自定義VSCode設(shè)置。 1.用戶(hù)級(jí)路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級(jí)路徑:項(xiàng)目根目錄下的.vscode/settings

如何使用JDBC處理Java的交易? 如何使用JDBC處理Java的交易? Aug 02, 2025 pm 12:29 PM

要正確處理JDBC事務(wù),必須先關(guān)閉自動(dòng)提交模式,再執(zhí)行多個(gè)操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開(kāi)始事務(wù);2.執(zhí)行多個(gè)SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時(shí)應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guān)閉連接,避免連接洩漏;此外建議使用連接池、設(shè)置保存點(diǎn)實(shí)現(xiàn)部分回滾,並保持事務(wù)盡可能短以提升性能。

在Java的掌握依賴(lài)注入春季和Guice 在Java的掌握依賴(lài)注入春季和Guice Aug 01, 2025 am 05:53 AM

依賴(lài)性(di)IsadesignpatternwhereObjectsReceivedenciesenciesExtern上,推廣looseSecouplingAndEaseerTestingThroughConstructor,setter,orfieldInjection.2.springfraMefringframeWorkSannotationsLikeLikeLike@component@component,@component,@service,@autowiredwithjava-service和@autowiredwithjava-ligatiredwithjava-lase-lightike

了解Java虛擬機(jī)(JVM)內(nèi)部 了解Java虛擬機(jī)(JVM)內(nèi)部 Aug 01, 2025 am 06:31 AM

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

如何使用Java的日曆? 如何使用Java的日曆? Aug 02, 2025 am 02:38 AM

使用java.time包中的類(lèi)替代舊的Date和Calendar類(lèi);2.通過(guò)LocalDate、LocalDateTime和LocalTime獲取當(dāng)前日期時(shí)間;3.使用of()方法創(chuàng)建特定日期時(shí)間;4.利用plus/minus方法不可變地增減時(shí)間;5.使用ZonedDateTime和ZoneId處理時(shí)區(qū);6.通過(guò)DateTimeFormatter格式化和解析日期字符串;7.必要時(shí)通過(guò)Instant與舊日期類(lèi)型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線(xiàn)

Google Chrome無(wú)法打開(kāi)本地文件 Google Chrome無(wú)法打開(kāi)本地文件 Aug 01, 2025 am 05:24 AM

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

了解網(wǎng)絡(luò)端口和防火牆 了解網(wǎng)絡(luò)端口和防火牆 Aug 01, 2025 am 06:40 AM

NetworkPortSandFireWallsworkTogetHertoEnableCommunication whereSeringSecurity.1.NetWorkPortSareVirtualendPointSnumbered0-655 35,with-Well-with-Newonportslike80(HTTP),443(https),22(SSH)和25(smtp)sindiessingspefificservices.2.portsoperateervertcp(可靠,c

比較Java框架:Spring Boot vs Quarkus vs Micronaut 比較Java框架:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

See all articles