中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

多線程學習初步(轉)

發布時間:2020-08-09 15:47:27 來源:ITPUB博客 閱讀:161 作者:rainytag 欄目:編程語言
import java.io.*;
//多線程編程
public class MultiThread
{
public static void main(String args[])
{
System.out.println("我是主線程!");
//下面創建線程實例thread1
ThreadUseExtends thread1=new ThreadUseExtends();
//創建thread2時以實現了Runnable接口的THhreadUseRunnable類實例為參數
Thread thread2=new Thread(new ThreadUseRunnable(),"SecondThread");
thread1.start();//啟動線程thread1使之處于就緒狀態
//thread1.setPriority(6);//設置thread1的優先級為6
//優先級將決定cpu空出時,處于就緒狀態的線程誰先占領cpu開始運行
//優先級范圍1到10,MIN_PRIORITY,MAX_PRIORITY,NORM_PAIORITY
//新線程繼承創建她的父線程優先級,父線程通常有普通優先級即5NORM_PRIORITY
System.out.println("主線程將掛起7秒!");
try
{
Thread.sleep(7000);//主線程掛起7秒
}
catch (InterruptedException e)
{
return;
}
System.out.println("又回到了主線程!");
if(thread1.isAlive())
{
thread1.stop();//如果thread1還存在則殺掉他
System.out.println("thread1休眠過長,主線程殺掉了thread1!");
}
else
System.out.println("主線程沒發現thread1,thread1已醒順序執行結束了!");
thread2.start();//啟動thread2
System.out.println("主線程又將掛起7秒!");
try
{
Thread.sleep(7000);//主線程掛起7秒
}
catch (InterruptedException e)
{
return;
}
System.out.println("又回到了主線程!");
if(thread2.isAlive())
{
thread2.stop();//如果thread2還存在則殺掉他
System.out.println("thread2休眠過長,主線程殺掉了thread2!");
}
else
System.out.println("主線程沒發現thread2,thread2已醒順序執行結束了!");
System.out.println("程序結束按任意鍵繼續!");
try
{
System.in.read();
}
catch (IOException e)
{
System.out.println(e.toString());
}

}//main
}//MultiThread


class ThreadUseExtends extends Thread
//通過繼承Thread類,并實現它的抽象方法run()
//適當時候創建這一Thread子類的實例來實現多線程機制
//一個線程啟動后(也即進入就緒狀態)一旦獲得CPU將自動調用它的run()方法
{

ThreadUseExtends(){}//構造函數
public void run()
{
System.out.println("我是Thread子類的線程實例!");
System.out.println("我將掛起10秒!");
System.out.println("回到主線程,請稍等,剛才主線程掛起可能還沒醒過來!");
try
{
sleep(10000);//掛起5秒
}
catch (InterruptedException e)
{
return;
}
//如果該run()方法順序執行完了,線程將自動結束,而不會被主線程殺掉
//但如果休眠時間過長,則線程還存活,可能被stop()殺掉
}
}


class ThreadUseRunnable implements Runnable
//通過實現Runnable接口中的run()方法,再以這個實現了run()方法的類
//為參數創建Thread的線程實例
{
//Thread thread2=new Thread(this);
//以這個實現了Runnable接口中run()方法的類為參數創建Thread類的線程實例
ThreadUseRunnable(){}//構造函數
public void run()
{
System.out.println("我是Thread類的線程實例并以實現了Runnable接口的類為參數!");
System.out.println("我將掛起1秒!");
System.out.println("回到主線程,請稍等,剛才主線程掛起可能還沒醒過來!");
try
{
Thread.sleep(1000);//掛起5秒
}
catch (InterruptedException e)
{
return;
}
//如果該run()方法順序執行完了,線程將自動結束,而不會被主線程殺掉
//但如果休眠時間過長,則線程還存活,可能被stop()殺掉
}

}
//該程序可做的修改如改休眠時間或優先級setPriority()[@more@]
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荃湾区| 嵊泗县| 吴忠市| 长丰县| 广水市| 苗栗县| 老河口市| 板桥市| 珠海市| 平遥县| 乐平市| 昭觉县| 荃湾区| 大港区| 满洲里市| 武穴市| 三门峡市| 丹巴县| 新丰县| 古丈县| 禹城市| 泰兴市| 慈溪市| 崇左市| 南木林县| 彝良县| 闽侯县| 鸡东县| 清原| 甘德县| 甘孜县| 嘉兴市| 中宁县| 通榆县| 垣曲县| 金堂县| 澜沧| 淅川县| 彝良县| 和政县| 沭阳县|