大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 創(chuàng)建線程的方法

創(chuàng)建線程的方法

更新時(shí)間:2021-10-09 10:57:45 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1614次

創(chuàng)建線程有兩種方式:

通過(guò)擴(kuò)展 Thread 類(lèi)

通過(guò)實(shí)現(xiàn) Runnable 接口。

創(chuàng)建線程的方法

線程類(lèi):

Thread 類(lèi)提供構(gòu)造函數(shù)和方法來(lái)創(chuàng)建和執(zhí)行線程上的操作。Thread 類(lèi)擴(kuò)展了 Object 類(lèi)并實(shí)現(xiàn)了 Runnable 接口。

Thread類(lèi)的常用構(gòu)造函數(shù):

線()

線程(字符串名稱(chēng))

線程(可運(yùn)行 r)

線程(Runnable r,字符串名稱(chēng))

Thread類(lèi)的常用方法:

public void run():用于為線程執(zhí)行操作。

public void start():開(kāi)始線程的執(zhí)行。JVM在線程上調(diào)用run()方法。

public void sleep(long miliseconds):使當(dāng)前正在執(zhí)行的線程休眠(暫時(shí)停止執(zhí)行)指定的毫秒數(shù)。

public void join():等待一個(gè)線程死亡。

public void join(long miliseconds):等待一個(gè)線程在指定的毫秒內(nèi)死亡。

public int getPriority():返回線程的優(yōu)先級(jí)。

public int setPriority(int priority):改變線程的優(yōu)先級(jí)。

public String getName():返回線程的名稱(chēng)。

public void setName(String name):更改線程的名稱(chēng)。

public Thread currentThread():返回當(dāng)前執(zhí)行線程的引用。

public int getId():返回線程的id。

public Thread.State getState():返回線程的狀態(tài)。

public boolean isAlive():測(cè)試線程是否存活。

public void yield():使當(dāng)前正在執(zhí)行的線程對(duì)象暫時(shí)暫停并允許其他線程執(zhí)行。

public void suspend():用于掛起線程(已棄用)。

public void resume():用于恢復(fù)掛起的線程(已棄用)。

public void stop():用于停止線程(已棄用)。

public boolean isDaemon():測(cè)試線程是否為守護(hù)線程。

public void setDaemon(boolean b):將線程標(biāo)記為守護(hù)進(jìn)程或用戶(hù)線程。

public void interrupt():中斷線程。

public boolean isInterrupted():測(cè)試線程是否被中斷。

public static boolean interrupted():測(cè)試當(dāng)前線程是否被中斷。

可運(yùn)行界面:

Runnable 接口應(yīng)該由其實(shí)例旨在由線程執(zhí)行的任何類(lèi)實(shí)現(xiàn)。Runnable 接口只有一個(gè)名為 run() 的方法。

public void run():用于為線程執(zhí)行操作。

開(kāi)始一個(gè)線程:

Thread 類(lèi)的start() 方法用于啟動(dòng)新創(chuàng)建的線程。它執(zhí)行以下任務(wù):

一個(gè)新線程開(kāi)始(使用新的調(diào)用堆棧)。

線程從 New 狀態(tài)移動(dòng)到 Runnable 狀態(tài)。

當(dāng)線程有機(jī)會(huì)執(zhí)行時(shí),它的目標(biāo) run() 方法將運(yùn)行。

1.通過(guò)擴(kuò)展 Thread 類(lèi)的 Java 線程示例

文件名: Multi.java

class Multi extends Thread{  
public void run(){  
System.out.println("thread is running...");  
}  
public static void main(String args[]){  
Multi t1=new Multi();  
t1.start();  
 }  
}  

輸出:

線程正在運(yùn)行...

2.通過(guò)實(shí)現(xiàn) Runnable 接口的 Java 線程示例

文件名: Multi3.java

class Multi3 implements Runnable{  
public void run(){  
System.out.println("thread is running...");  
}  
public static void main(String args[]){  
Multi3 m1=new Multi3();  
Thread t1 =new Thread(m1);   // Using the constructor Thread(Runnable r)  
t1.start();  
 }  
}  

輸出:

線程正在運(yùn)行...

如果您不擴(kuò)展 Thread 類(lèi),則您的類(lèi)對(duì)象不會(huì)被視為線程對(duì)象。所以需要顯式創(chuàng)建Thread類(lèi)對(duì)象。我們正在傳遞實(shí)現(xiàn) Runnable 的類(lèi)的對(duì)象,以便您的類(lèi) run() 方法可以執(zhí)行。

3.使用線程類(lèi):Thread(String Name)

我們可以使用上面定義的構(gòu)造函數(shù)直接使用 Thread 類(lèi)來(lái)生成新線程。

文件名: MyThread1.java

public class MyThread1  
{  
// Main method  
public static void main(String argvs[])  
{  
// creating an object of the Thread class using the constructor Thread(String name)   
Thread t= new Thread("My first thread");  
  
// the start() method moves the thread to the active state  
t.start();  
// getting the thread name by invoking the getName() method  
String str = t.getName();  
System.out.println(str);  
}  
}  

輸出:

我的第一個(gè)線程

(4)使用線程類(lèi):Thread(Runnable r, String name)

觀察以下程序。

文件名: MyThread2.java

public class MyThread2 implements Runnable  
{    
public void run()  
{    
System.out.println("Now the thread is running ...");    
}        
// main method  
public static void main(String argvs[])  
{   
// creating an object of the class MyThread2  
Runnable r1 = new MyThread2();     
// creating an object of the class Thread using Thread(Runnable r, String name)  
Thread th1 = new Thread(r1, "My new thread");      
// the start() method moves the thread to the active state  
th1.start();     
// getting the thread name by invoking the getName() method  
String str = th1.getName();  
System.out.println(str);  
}    
}    

輸出:

我的新線程

現(xiàn)在線程正在運(yùn)行...

如果大家對(duì)此感興趣,想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java多線程編程教程,里面的內(nèi)容豐富,通俗易懂,適合沒(méi)有基礎(chǔ)的朋友學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 草久视频在线观看 | 四虎国产精品4hu永久 | 国产精品免费综合一区视频 | 91久久青草精品38国产 | 国产香港特级一级毛片 | 免费国产阿v视频在线观看 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 国产日韩精品一区二区在线观看 | 91视频国产91久久久 | 97影院在线午夜 | 久久66热re国产毛片基地 | 毛片黄片视频 | 激情影院免费 | 黄色午夜影院 | 日韩第3页 | 私人影院在线 | www午夜| 欧美高清精品 | 一区二区三区不卡免费视频97 | 一级色| 久色影视| 中国一级毛片aaa片 中国一级毛片录像 | 亚洲欧美精品天堂久久综合一区 | 国产精品久久久久乳精品爆 | 国产一区二区在线 |播放 | 91视频中文字幕 | 久久久91 | 91免费网站在线看入口黄 | 91视频国产91久久久 | 日本高清中文字幕在线观穿线视频 | 成人中文字幕一区二区三区 | 激情综合婷婷 | 夜夜躁日日躁狠狠久久 | 99热久热这里只精品 | 国产精品免费看久久久香蕉 | 亚洲欧美久久一区二区 | 免费一级毛片在线播放不收费 | 999久久久免费精品国产牛牛 | 伊人中文字幕 | 国产亚洲欧美日韩在线看片 | 欧美黄色免费网址 | 欧美日韩亚洲国产一区二区三区 |