1.線程的概念:線程(thread)是指一個任務(wù)從頭至尾的執(zhí)行流,線程提供一個運行任務(wù)的機制,對于java而言,一個程序中可以并發(fā)的執(zhí)行多個線程,這些線程可以在多處理器系統(tǒng)上同時運行。當(dāng)程序作為一個應(yīng)用程序運行時,java解釋器為main()方法啟動一個線程。

2.并行與并發(fā):
(1)并發(fā):在單處理器系統(tǒng)中,多個線程共享CPU時間,而操作系統(tǒng)負責(zé)調(diào)度及分配資源給它們。
(2)并行:在多處理器系統(tǒng)中,多個處理器可以同時運行多個線程,這些線程在同一時間可以同時運行,而不同于并發(fā),只能多個線程共享CPU時間,同一時間只能運行一個線程。

3.線程的創(chuàng)建:
(1)基礎(chǔ)概念:java中每個任務(wù)就是一個可運行對象,為了創(chuàng)建任務(wù),必須首先定義任務(wù)類,任務(wù)類必須實現(xiàn)Runnable接口。而線程本質(zhì)上講就是便于任務(wù)執(zhí)行的對象。一個線程的執(zhí)行過程就是一個任務(wù)類中run()方法的執(zhí)行到結(jié)束。
(2)通過Runnable接口創(chuàng)建線程:
a.定義一個任務(wù)類實現(xiàn)Runnable接口,實現(xiàn)Runnable接口中的run()方法(run()方法告知系統(tǒng)線程該如何運行),run()方法中定義具體的任務(wù)代碼或處理邏輯。
b.定義了任務(wù)類后,為任務(wù)類創(chuàng)建一個任務(wù)對象。
c.任務(wù)必須在線程中執(zhí)行,創(chuàng)建一個Tread類的對象,將前面創(chuàng)建的實現(xiàn)了Runnable接口的任務(wù)類對象作為參數(shù)傳遞給Tread類的構(gòu)造方法。
d.調(diào)用Tread類對象的start()方法,啟動一個線程。它會導(dǎo)致任務(wù)的run()方法被執(zhí)行,當(dāng)run()方法執(zhí)行完畢,則線程就終止。
實例代碼:
package com.muzeet.mutithread;
//每個任務(wù)都是Runable接口的一個實例,任務(wù)是可運行對象,線程是便于任務(wù)執(zhí)行的對象。必須創(chuàng)建任務(wù)類,重寫run方法定義任務(wù)
public class ThreadDemo1 implements Runnable {
private int countDown = 10;
@Override
//重寫run方法,定義任務(wù)
public void run() {
while(countDown-- >0)
{
System.out.println("$" + Thread.currentThread().getName()
+ "(" + countDown + ")");
}
}
//調(diào)用start方法會啟動一個線程,導(dǎo)致任務(wù)中的run方法被調(diào)用,run方法執(zhí)行完畢則線程終止
public static void main(String[] args) {
Runnable demo1 = new ThreadDemo1();
Thread thread1 = new Thread(demo1);
Thread thread2 = new Thread(demo1);
thread1.start();
thread2.start();
System.out.println("火箭發(fā)射倒計時:");
}
}
分享標(biāo)題:Java多線程中線程的兩種創(chuàng)建方式及比較代碼示例-創(chuàng)新互聯(lián)
URL地址:http://chinadenli.net/article30/gsiso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、品牌網(wǎng)站設(shè)計、網(wǎng)站設(shè)計公司、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容