您好,登錄后才能下訂單哦!
Java中怎么實現(xiàn)線程操作,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
一 線程名稱的操作
1 代碼
public class GetNameThreadDemo extends Thread{ public void run() { for( int i = 0; i < 5; ++i ) { printMsg(); try { Thread.sleep(1000); // 睡眠1秒 } catch( InterruptedException e ) { e.printStackTrace(); } } } public void printMsg() { // 獲得運行此代碼的線程的引用 Thread t = Thread.currentThread(); String name = t.getName(); System.out.println( "name = " + name ); } public static void main( String[] args ) { GetNameThreadDemo t1 = new GetNameThreadDemo(); t1.start(); for( int i = 0; i < 5; ++i ) { t1.printMsg(); try { Thread.sleep(1000); // 睡眠1秒 } catch( InterruptedException e ) { e.printStackTrace(); } } }}
2 運行
name = mainname = Thread-0name = mainname = Thread-0name = mainname = Thread-0name = mainname = Thread-0name = mainname = Thread-0
二 設(shè)置與獲取線程名稱
1 代碼
public class GetSetNameThreadDemo implements Runnable{ public void run( ) { Thread temp = Thread.currentThread( );//獲取執(zhí)行這條語句的線程實例 System.out.println("執(zhí)行這條語句的線程名字:" + temp.getName( )); } public static void main(String[] args) { Thread t = new Thread(new GetSetNameThreadDemo( )); t.setName("線程_范例演示"); t.start(); }}
2 運行
執(zhí)行這條語句的線程名字:線程_范例演示
三 判斷線程是否啟動
1 代碼
public class StartThreadDemo extends Thread{ public void run() { for( int i = 0; i < 5; ++i ) { printMsg(); } } public void printMsg() { // 獲得運行此代碼的線程的引用 Thread t = Thread.currentThread(); String name = t.getName(); System.out.println( "name = " + name ); } public static void main( String[] args ) { StartThreadDemo t = new StartThreadDemo(); t.setName( "test Thread" ); System.out.println( "調(diào)用start()方法之前 , t.isAlive() = " + t.isAlive() ); t.start(); System.out.println( "剛調(diào)用start()方法時 , t.isAlive() = " + t.isAlive() ); for( int i = 0; i < 5; ++i ) { t.printMsg(); } // 下面語句的輸出結(jié)果是不固定的,有時輸出false,有時輸出true System.out.println( "main()方法結(jié)束時 , t.isAlive() = " + t.isAlive() ); }}
2 運行
調(diào)用start()方法之前 , t.isAlive() = false剛調(diào)用start()方法時 , t.isAlive() = truename = mainname = mainname = mainname = test Threadname = mainname = test Threadname = mainname = test Threadmain()方法結(jié)束時 , t.isAlive() = truename = test Threadname = test ThreadProcess finished with exit code 0
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。