1. 程式人生 > >java 多執行緒 快速入門

java 多執行緒 快速入門

------------恢復內容開始------------

java 多執行緒 快速入門

1. 程序和執行緒

  什麼是程序?

    程序是正在執行的程式它是執行緒的集合

    程序中一定有一個主執行緒

    一個作業系統可以有多個執行緒

 

   什麼是執行緒?

    執行緒就是獨立的執行一條執行路徑

    一個獨立的執行單元 , 一個執行流程

  為什麼要使用多執行緒?

    多執行緒提高程式效率 , 使用多執行緒 , 每個執行緒互補影響

 

2.建立執行緒的方式有哪些  

 

  1.使用繼承 Thread類方式

 

    如下示例

    

 

 

 

 

 

 

 

 

 

    

 

 

 

 

    結果

    

 

 

     1.繼承 Thread 類

     class CreateThread_1 extends Thread { /*......*/}

     2.重寫方法 run()

     public void run()  {/*......*/}

     3.建立物件

     CreateThread_1  t1 = new CreateThread_1 ()

     4.啟動執行緒

 

     ti.start()

     注意 : 如果 是直接 呼叫 run() 方法的話  它還是 單執行緒  會 按順序向下執行  

     直接呼叫  run()  方法  的話  也就是一個普通方法

        結果會是 

     

 

 

 

 

 

  2.使用實現 Runnable 介面

     如下示例

     

 

 

 

 

     結果

     

 

 

 

     1.實現Runnable介面

     class CreateThread_2 implements Runnable {/*.....*/}

     2.實現  run()  方法

     public void run() {/*.....*/}

     2.啟動執行緒

     // 建立物件

     CreateThread_2 t1 = new CreateThread_2();

     Thread thread = new Thread(t1);

     // 呼叫 start() 方法 啟動執行緒

     thread.start();

     注意 :  Runnable  介面 沒有 start()方法

     所以我們要用到 Thread 類 的  start()  方法

 

    

  3.Callable 內部匿名建立

     如下示例

     匿名  Thread 類

     

 

 

     示例  2

     

 

 

 

 

 

 

       

 

     結果

     

 

 

      匿名內部 建立多執行緒 比 Thread 類  和 Runnable 介面 更 靈活

多執行緒常用 api  方法

  start()        啟動執行緒

  getId()       獲取當前執行緒 id  編號 從0 開始

  getName()      獲取當前執行緒名稱

  例如:

    

 

 

 

 

  

 

 

 

 

  sleep(1000)    休眠  1 秒

  stop()       停止執行緒 

  currentThread()  獲取當前執行緒物件

  (Thread.currentThread().getId()    獲取當前執行緒  id) 

 

  Thread(String name)分配一個新的 Thread 物件 並且定義名稱

  例如 

 

 

 

 

  

多執行緒有幾種狀態

   1.新建

    new Thread();

  2.準備

    呼叫 start () 方法時 不會馬上執行  

  3.執行

    Cpu 開始執行 run 時

  4.休眠

    呼叫sleep()方法

    或者 wait()方法

  5.停止(死亡)

    Run 方發執行完畢或者呼叫 stop()方法

 

     

  流程圖

  

  

 

 

 

 

join ()方法

  作用  :  先讓別的執行緒先執行 ( 在當前執行緒 , 當前執行緒 讓出  )

  示例:  讓子執行緒先執行

  

 

 

 

 

 

 

 

 

  結果

  

 

 

 

 

 

總結 :

 

 

程序是正在執行的程式,它是執行緒的集合

 

執行緒就是在獨立執行一條執行路徑

 

多執行緒 就是為了提高程式的效率

 

程序是執行緒集合

執行緒是程序一條執行路徑

 

Thread 類建立執行緒

Runnable 介面建立執行緒

匿名內部建立執行緒

多執行緒的常用api方法

多執行緒的執行狀態

 

 

------------恢復內容結束------------

java 多執行緒 快速入門

1. 程序和執行緒

  什麼是程序?

    程序是正在執行的程式它是執行緒的集合

    程序中一定有一個主執行緒

    一個作業系統可以有多個執行緒

 

   什麼是執行緒?

    執行緒就是獨立的執行一條執行路徑

    一個獨立的執行單元 , 一個執行流程

  為什麼要使用多執行緒?

    多執行緒提高程式效率 , 使用多執行緒 , 每個執行緒互補影響

 

2.建立執行緒的方式有哪些  

 

  1.使用繼承 Thread類方式

 

    如下示例

    

 

 

 

 

 

 

 

 

 

    

 

 

 

 

    結果

    

 

 

     1.繼承 Thread 類

     class CreateThread_1 extends Thread { /*......*/}

     2.重寫方法 run()

     public void run()  {/*......*/}

     3.建立物件

     CreateThread_1  t1 = new CreateThread_1 ()

     4.啟動執行緒

 

     ti.start()

     注意 : 如果 是直接 呼叫 run() 方法的話  它還是 單執行緒  會 按順序向下執行  

     直接呼叫  run()  方法  的話  也就是一個普通方法

        結果會是 

     

 

 

 

 

 

  2.使用實現 Runnable 介面

     如下示例

     

 

 

 

 

     結果

     

 

 

 

     1.實現Runnable介面

     class CreateThread_2 implements Runnable {/*.....*/}

     2.實現  run()  方法

     public void run() {/*.....*/}

     2.啟動執行緒

     // 建立物件

     CreateThread_2 t1 = new CreateThread_2();

     Thread thread = new Thread(t1);

     // 呼叫 start() 方法 啟動執行緒

     thread.start();

     注意 :  Runnable  介面 沒有 start()方法

     所以我們要用到 Thread 類 的  start()  方法

 

    

  3.Callable 內部匿名建立

     如下示例

     匿名  Thread 類

     

 

 

     示例  2

     

 

 

 

 

 

 

       

 

     結果

     

 

 

      匿名內部 建立多執行緒 比 Thread 類  和 Runnable 介面 更 靈活

多執行緒常用 api  方法

  start()        啟動執行緒

  getId()       獲取當前執行緒 id  編號 從0 開始

  getName()      獲取當前執行緒名稱

  例如:

    

 

 

 

 

  

 

 

 

 

  sleep(1000)    休眠  1 秒

  stop()       停止執行緒 

  currentThread()  獲取當前執行緒物件

  (Thread.currentThread().getId()    獲取當前執行緒  id) 

 

  Thread(String name)分配一個新的 Thread 物件 並且定義名稱

  例如 

 

 

 

 

  

多執行緒有幾種狀態

   1.新建

    new Thread();

  2.準備

    呼叫 start () 方法時 不會馬上執行  

  3.執行

    Cpu 開始執行 run 時

  4.休眠

    呼叫sleep()方法

    或者 wait()方法

  5.停止(死亡)

    Run 方發執行完畢或者呼叫 stop()方法

 

     

  流程圖

  

  

 

 

 

 

join ()方法

  作用  :  先讓別的執行緒先執行 ( 在當前執行緒 , 當前執行緒 讓出  )

  示例:  讓子執行緒先執行

  

 

 

 

 

 

 

 

 

  結果

  

 

 

 

 

 

總結 :

 

 

程序是正在執行的程式,它是執行緒的集合

 

執行緒就是在獨立執行一條執行路徑

 

多執行緒 就是為了提高程式的效率

 

程序是執行緒集合

執行緒是程序一條執行路徑

 

Thread 類建立執行緒

Runnable 介面建立執行緒

匿名內部建立執行緒

多執行緒的常用api方法

多執行緒的執行狀態

 

&n