多線程常用操作方法_第1頁(yè)
多線程常用操作方法_第2頁(yè)
多線程常用操作方法_第3頁(yè)
多線程常用操作方法_第4頁(yè)
多線程常用操作方法_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第14章:多線程編程多線程常用操作方法線程的命名和取得No.方法類型描述1public Thread(Runnable target, String name)構(gòu)造實(shí)例化線程對(duì)象,接收Runnable接口子類對(duì)象,同時(shí)設(shè)置線程名稱2public final void setName(String name)普通設(shè)置線程名字3public final String getName()普通取得線程名字范例:觀察線程的命名操作package cn.mldn.demo;class MyThread implements Runnable Overridepublic void run() System

2、.out.println(Thread.currentThread().getName();/ 當(dāng)前線程名稱public class ThreadDemo public static void main(String args) throws Exception MyThread mt = new MyThread();new Thread(mt, 線程A).start(); / 設(shè)置了線程的名字new Thread(mt).start(); / 未設(shè)置線程名字new Thread(mt, 線程B).start(); / 設(shè)置了線程的名字范例:觀察如下程序代碼package cn.mldn.d

3、emo;class MyThread implements Runnable Overridepublic void run() System.out.println(Thread.currentThread().getName();/ 獲取線程名稱public class ThreadDemo public static void main(String args) throws Exception MyThread mt = new MyThread();/ 線程類對(duì)象new Thread(mt, 線程對(duì)象).start(); / 設(shè)置了線程的名字mt.run(); / 對(duì)象直接調(diào)用run

4、()方法范例:子線程處理復(fù)雜邏輯package cn.mldn.demo;public class ThreadDemo public static void main(String args) throws Exception System.out.println(1、執(zhí)行操作任務(wù)一。);/ 主線程執(zhí)行new Thread()-/ 子線程負(fù)責(zé)統(tǒng)計(jì)int temp = 0 ;for (int x = 0 ; x / Runnable接口實(shí)例for (int x = 0; x 10; x+) System.out.println(Thread.currentThread().getName()

5、+ 、x = + x);try Thread.sleep(1000); / 暫緩1秒(1000毫秒)執(zhí)行 catch (InterruptedException e) / 強(qiáng)制性異常處理e.printStackTrace(); ;for (int num = 0; num System.out.println(【BEFORE】準(zhǔn)備睡覺(jué)10秒鐘的時(shí)間,不要打擾我);try Thread.sleep(10000); / 預(yù)計(jì)準(zhǔn)備休眠10秒System.out.println(【FINISH】睡醒了,開(kāi)始工作和學(xué)習(xí)生活); catch (InterruptedException e) System.

6、out.println(【EXCEPTION】睡覺(jué)被打擾了,壞脾氣像火山爆發(fā)一樣襲來(lái) ););thread.start(); / 線程啟動(dòng)Thread.sleep(1000); / 保證子線程先運(yùn)行1秒if (!thread.isInterrupted() / 該線程中斷?System.out.println(【INTERRUPT】敲鑼打鼓歡天喜地的路過(guò)你睡覺(jué)的地方!);errupt(); / 中斷執(zhí)行范例:線程強(qiáng)制執(zhí)行線程強(qiáng)制執(zhí)行:public final void join() throws InterruptedExceptionpackage cn.mldn.dem

7、o;public class ThreadDemo public static void main(String args) throws Exception Thread mainThread = Thread.currentThread() ; / 獲得主線程Thread thread = new Thread() - for (int x = 0 ; x 100 ; x +) if (x = 3) / 設(shè)置強(qiáng)制執(zhí)行條件try mainThread.join();/ 強(qiáng)制執(zhí)行線程任務(wù) catch (InterruptedException e) e.printStackTrace(); t

8、ry Thread.sleep(100);/ 延緩執(zhí)行 catch (InterruptedException e) e.printStackTrace();System.out.println(Thread.currentThread().getName() + 執(zhí)行、x = + x);,玩耍的線程) ;thread.start();for (int x = 0 ; x for (int x = 0 ; x 100 ; x +) if (x % 3 = 0) Thread.yield();/ 線程禮讓System.out.println(【YIELD】線程禮讓, + Thread.curre

9、ntThread().getName();try Thread.sleep(100); catch (InterruptedException e) e.printStackTrace();System.out.println(Thread.currentThread().getName() + 執(zhí)行、x = + x);,玩耍的線程) ;thread.start();for (int x = 0 ; x / 線程類對(duì)象for (int x = 0; x 10; x+) try Thread.sleep(1000);/ 暫緩執(zhí)行 catch (InterruptedException e) e.printStackTrace();System.out.println(Thread.currentThread().getName() + 執(zhí)行。);Thread threadA = new Thread(run, 線程對(duì)象A);/ 線程對(duì)象Thread threadB = new Thread(run, 線程對(duì)象B);/ 線程對(duì)象Thread threadC = new Thread(run, 線程對(duì)象C);/ 線程對(duì)象threadA.setPriority(Thread.MIN_PRIORITY);/ 修改線程優(yōu)先級(jí)threadB.se

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論