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