欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
多線(xiàn)程的概念

一、程序與進(jìn)程

1、程序:一段靜態(tài)的代碼。

2、進(jìn)程:程序的一次動(dòng)態(tài)執行過(guò)程,它對應從代碼加載、執行到執行完畢的一個(gè)完整過(guò)程。

3、進(jìn)程也稱(chēng)任務(wù),支持多個(gè)進(jìn)程同時(shí)執行的OS就被稱(chēng)為多進(jìn)程O(píng)S或多任務(wù)OS。

二、進(jìn)程與線(xiàn)程

在一個(gè)程序內部也可以實(shí)現多個(gè)任務(wù)并發(fā)執行,其中每個(gè)任務(wù)稱(chēng)為線(xiàn)程。

線(xiàn)程是比進(jìn)程更小的執行單位,它是在一個(gè)進(jìn)程中獨立的控制流,即程序內部的控制流。

特點(diǎn):線(xiàn)程不能獨立運行,必須依賴(lài)于進(jìn)程,在進(jìn)程中運行。

每個(gè)程序至少有一個(gè)線(xiàn)程稱(chēng)為主線(xiàn)程。

單線(xiàn)程:只有一條線(xiàn)程的進(jìn)程稱(chēng)為單線(xiàn)程

多線(xiàn)程:有不止一個(gè)線(xiàn)程的進(jìn)程稱(chēng)為多線(xiàn)程

三、開(kāi)啟多線(xiàn)程的優(yōu)點(diǎn)和缺點(diǎn)

提高界面程序響應速度。通過(guò)使用線(xiàn)程,可以將需要大量時(shí)間完成的流程在后臺啟動(dòng)單獨的線(xiàn)程完成,提高前臺界面的相應速度。

充分利用系統資源,提高效率。通過(guò)在一個(gè)程序內部同時(shí)執行多個(gè)流程,可以充分利用CPU等系統資源,從而最大限度的發(fā)揮硬件的性能。

當程序中的線(xiàn)程數量比較多時(shí),系統將花費大量的時(shí)間進(jìn)行線(xiàn)程的切換,這反而會(huì )降低程序的執行效率。但是,相對于優(yōu)勢來(lái)說(shuō),劣勢還是很有限的,所以現在的項目開(kāi)發(fā)中,多線(xiàn)程編程技術(shù)得到了廣泛的應用。

13.2 多線(xiàn)程實(shí)現

一、在實(shí)現線(xiàn)程編程時(shí),首先需要讓一個(gè)類(lèi)具備多線(xiàn)程的能力,繼承Thread類(lèi)或實(shí)現Runnable接口的類(lèi)具備多線(xiàn)程的能力,然后創(chuàng )建線(xiàn)程對象,調用對應的啟動(dòng)線(xiàn)程方法即可實(shí)現線(xiàn)程編程。

在一個(gè)程序中可以實(shí)現多個(gè)線(xiàn)程,多線(xiàn)程編程指在同一個(gè)程序中啟動(dòng)了兩個(gè)或兩個(gè)以上的線(xiàn)程。

在實(shí)際實(shí)現線(xiàn)程時(shí),Java語(yǔ)言提供了三種實(shí)現方式:

(1)繼承Thread類(lèi)

(2)實(shí)現Runnable接口

(3)使用Timer和TimerTask組合

二、繼承Thread線(xiàn)程類(lèi)實(shí)現多線(xiàn)程
java.lang包中提供了一個(gè)專(zhuān)門(mén)的線(xiàn)程類(lèi)(Thread),在該類(lèi)中封裝了許多對線(xiàn)程進(jìn)行調度和處理的方法。如果一個(gè)類(lèi)繼承了Thread類(lèi),則該類(lèi)就具備了多線(xiàn)程的能力,可以多線(xiàn)程的方式執行。

class MyThread extends Thread{

public void run(){

//線(xiàn)程體

}

}

繼承Thread類(lèi)實(shí)現多線(xiàn)程。

MyThread tt1 = new MyThread ();

//啟動(dòng)線(xiàn)程

tt1.start();

try{

for(int i = 0;i < 5;i++){

//延時(shí)1秒

Thread.sleep(1000);

System.out.println("Main:" + i);

}

}catch(Exception e){}

注意:

線(xiàn)程的特性:隨機性,系統在執行多線(xiàn)程程序時(shí)只保證線(xiàn)程是交替執行的,至于哪個(gè)線(xiàn)程先執行哪個(gè)線(xiàn)程后執行,則無(wú)法獲得保證,需要書(shū)寫(xiě)專(zhuān)門(mén)的代碼才可以保證執行的順序。

對于同一個(gè)線(xiàn)程類(lèi),也可以啟動(dòng)多個(gè)線(xiàn)程

同一個(gè)線(xiàn)程不能啟動(dòng)兩次,

當自定義線(xiàn)程中的run方法執行完成以后,則自定義線(xiàn)程自然死亡。而對于系統線(xiàn)程來(lái)說(shuō),只有當main方法執行結束,而且啟動(dòng)的其它線(xiàn)程都結束以后,才會(huì )結束。當系統線(xiàn)程執行結束以后,程序的執行才真正結束。

三、 實(shí)現Runable接口

a) 多線(xiàn)程對象實(shí)現java.lang.Runnable接口并且在該類(lèi)中重寫(xiě)Runnable接口的run方法。

b) 好處:實(shí)現Runable接口的方法避免了單繼承的局限性。

例1:使用實(shí)現Runable接口的方式實(shí)現多線(xiàn)程。

class MyThread2 implements Runable{

public void run(){} //重寫(xiě)Runable接口中的run()方法

}

MyThread2 mt1=new MyThread2();

Thread t1=new Thread(mt1);

t1.start();

13.3 線(xiàn)程的生命周期

一、線(xiàn)程的生命周期

線(xiàn)程是一個(gè)動(dòng)態(tài)執行的過(guò)程,它也有一個(gè)從產(chǎn)生到死亡的過(guò)程,這就是所謂的生命周期。一個(gè)線(xiàn)程在它的生命周期內有5種狀態(tài):

1、新建(new Thread)

當創(chuàng )建Thread類(lèi)的一個(gè)實(shí)例(對象)時(shí),此線(xiàn)程進(jìn)入新建狀態(tài)(未被啟動(dòng))。
例如:Thread t1=new Thread();

2、就緒(runnable)

線(xiàn)程已經(jīng)被啟動(dòng),正在等待被分配給CPU時(shí)間片,也就是說(shuō)此時(shí)線(xiàn)程正在就緒隊列中排隊等候得到CPU資源。例如:t1.start();

3、運行(running)

線(xiàn)程獲得CPU資源正在執行任務(wù)(run()方法),此時(shí)除非此線(xiàn)程自動(dòng)放棄CPU資源或者有優(yōu)先級更高的線(xiàn)程進(jìn)入,線(xiàn)程將一直運行到結束。

4、死亡(dead)

當線(xiàn)程執行完畢或被其它線(xiàn)程殺死,線(xiàn)程就進(jìn)入死亡狀態(tài),這時(shí)線(xiàn)程不可能再進(jìn)入就緒狀態(tài)等待執行。

自然終止:正常運行run()方法后終止

異常終止:調用stop()方法讓一個(gè)線(xiàn)程終止運行

5、堵塞(blocked)

由于某種原因導致正在運行的線(xiàn)程讓出CPU并暫停自己的執行,即進(jìn)入堵塞狀態(tài)。

正在睡眠:用sleep(long t) 方法可使線(xiàn)程進(jìn)入睡眠方式。一個(gè)睡眠著(zhù)的線(xiàn)程在指定的時(shí)間過(guò)去可進(jìn)入就緒狀態(tài)。

正在等待:調用wait()方法。(調用motify()方法回到就緒狀態(tài))

被另一個(gè)線(xiàn)程所阻塞:調用suspend()方法。(調用resume()方法恢復)

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
多線(xiàn)程入門(mén)就這么簡(jiǎn)單
線(xiàn)程總結
Java多線(xiàn)程程序設計詳細解析
Java 多線(xiàn)程的三種實(shí)現方法
Java Thread多線(xiàn)程全面解析
多線(xiàn)程編程——基礎篇 (一)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久