java多線程---基礎,java多線程---

來源:互聯網
上載者:User

java多線程---基礎,java多線程---

一, java多線程----線程與進程

  進程: 程式(任務)的執行過程,擁有資源(共用記憶體,共用資源)和線程(一個或者多個,至少一個)。  例如:開啟工作管理員,qq,chrome,都屬於進程。

  線程:  系統中最小的執行單元,同一進程中有多個線程,線程共用進程的資源。       例如:qq的聊天發送訊息。

      單線程:程式中只有一個線程,實際上主方法就是一個主線程。

   多線程:程式中運行多個任務,   目的是更好的使用cpu資源。

二,java多線程----線程的實現

  簡單一句話來說,繼承Thead類或者實現Runnable這個介面,然後重寫裡面的run方法。

繼承Thead類

 1 public class MyThead extends Thread{ 2      3     private String name; 4     public MyThead(String name) { 5         this.name = name; 6     } 7     @Override 8     public void run() { 9         for (int i = 0; i < 1000; i++) {10             System.out.println(name+"------"+i);11         }12     }13 }

實現Runnable介面

 1 public class MyRunnable  implements Runnable{ 2      3     private String name; 4     public MyRunnable(String name) { 5         this.name = name; 6     } 7     @Override 8     public void run() { 9         for (int i = 0; i < 1000; i++) {10             System.out.println(name+"----"+i);11         }12         13     }14 15 }

啟動線程

 1 public class TheadDemo { 2  3     public static void main(String[] args) { 4         MyThead t1 = new MyThead("t1"); 5         MyThead t2 = new MyThead("t2"); 6          7         t1.start(); 8         t2.start(); 9         10         MyRunnable r1 = new MyRunnable("r1");11         MyRunnable r2 = new MyRunnable("r2");12         13         Thread t3 = new Thread(r1);14         Thread t4 = new Thread(r2);15         16         t3.start();17         t4.start();18     }19 }

三,java多線程----線程的狀態

   建立狀態:建立多線程對象。

   就緒狀態: 調用start(),等待cpu調用。

   運行狀態: 執行run()。

   阻塞狀態:暫時停止執行,將資源交給其他線程使用。

   終止狀態:線程結束。

四,java多線程----常用的方法(thead類裡面)

  擷取當前線程的對象      currentThread()

  得到線程名稱               getName()

  判斷線程是否運行         isAlive()

  線程的強行運行            join()      例如:倆個線程t1,t2,    當在t1執行的時候,t2調用join()方法,t1暫停不執行,t2執行,執行完成後,釋放資源,t1接著執行。

  線程的休眠                 sleep()    例如:t1每執行一次,等待5秒      t1.sleep(5000)

  線程的禮讓                 yield()     例如:倆個線程t1,t2,    當在t1執行的時候,t1調用yield()方法,t1暫停不執行,t2執行,執行完成後,釋放資源,t1接著執行。

  

 

  

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.