java多線程---基礎。本站提示廣大學習愛好者:(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接著執行。