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接著執行。