溫馨提示×

溫馨提示×

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

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

Java中怎么實現(xiàn)線程操作

發(fā)布時間:2021-07-27 16:38:36 來源:億速云 閱讀:93 作者:Leah 欄目:編程語言

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è)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(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)容。

AI