国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 干貨分享 javasleep

干貨分享 javasleep 時(shí)間:2018-12-25      來源:華清遠(yuǎn)見

在提及線程睡眠(sleep)之前,先要清楚Java中關(guān)于線程的概念。

線程(英語:thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一條線程指的是進(jìn)程中一個(gè)單一順序的控制流,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。在Unix System V及SunOS中也被稱為輕量進(jìn)程(lightweight processes),但輕量進(jìn)程更多指內(nèi)核線程(kernel thread),而把用戶線程(user thread)稱為線程。

線程是獨(dú)立調(diào)度和分派的基本單位。線程可以為操作系統(tǒng)內(nèi)核調(diào)度的內(nèi)核線程,如Win32線程;由用戶進(jìn)程自行調(diào)度的用戶線程,如Linux平臺(tái)的POSIX Thread;或者由內(nèi)核與用戶進(jìn)程,如Windows 7的線程,進(jìn)行混合調(diào)度。

同一進(jìn)程中的多條線程將共享該進(jìn)程中的全部系統(tǒng)資源,如虛擬地址空間,文件描述符和信號(hào)處理等等。但同一進(jìn)程中的多個(gè)線程有各自的調(diào)用棧(call stack),自己的寄存器環(huán)境(register context),自己的線程本地存儲(chǔ)(thread-local storage)。

一個(gè)進(jìn)程可以有很多線程,每條線程并行執(zhí)行不同的任務(wù)。

在多核或多CPU,或支持Hyper-threading的CPU上使用多線程程序設(shè)計(jì)的好處是顯而易見,即提高了程序的執(zhí)行吞吐率。在單CPU單核的計(jì)算機(jī)上,使用多線程技術(shù),也可以把進(jìn)程中負(fù)責(zé)I/O處理、人機(jī)交互而常被阻塞的部分與密集計(jì)算的部分分開來執(zhí)行,編寫專門的workhorse線程執(zhí)行密集計(jì)算,從而提高了程序的執(zhí)行效率。

簡(jiǎn)單說,線程可以理解為程序中每一條單獨(dú)運(yùn)行的程序鏈路。

Java程序默認(rèn)是有一個(gè)線程的,也稱之為主線程。比如main方法所在的線程就是主線程,我們寫的代碼會(huì)依次的執(zhí)行,如下,每次循環(huán)都會(huì)打印時(shí)間戳:

javasleep,java開發(fā)

運(yùn)行結(jié)果如下:

javasleep,java開發(fā)

,可以發(fā)現(xiàn),程序在不到1ms的時(shí)間內(nèi)順序執(zhí)行了每一次循環(huán)。

那么線程在執(zhí)行的過程中能不能,停止下來呢?

最簡(jiǎn)單的方式就是使用線程的休眠,也就是sleep方法。

睡眠的意思為,當(dāng)前線程占用cpu不放,但是什么事情也不做。

現(xiàn)在我們更改上面的程序,讓循環(huán)每次執(zhí)行的時(shí)候都睡眠一秒鐘。調(diào)用方式如下:

javasleep,java開發(fā)

這個(gè)方法是Thread類的一個(gè)靜態(tài)方法,會(huì)檢測(cè)所在的當(dāng)前的線程,并睡眠一段時(shí)間,參數(shù)為睡眠的時(shí)常(單位:毫秒)。

但是發(fā)現(xiàn)有異常的拋出,使用異常處理,如下:

javasleep,java開發(fā)

異常類型為InterruptedException,什么時(shí)候會(huì)拋出呢?

當(dāng)前線程的對(duì)象如果在睡眠過程中,調(diào)用了interrupt方法,可以停止睡眠,并拋出InterruptedException異常。

現(xiàn)在我們,運(yùn)行上面的程序,觀察結(jié)果:

javasleep,java開發(fā)

是不是每隔一秒鐘就輸出了一次呢?至此關(guān)于Java的sleep方法就講完了。

上一篇:C語言指針

下一篇:ARM:函數(shù)指針

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部