java 多線程 快速入門

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

java 多線程 快速入門api

1. 進程和線程多線程

  什麼是進程?spa

    進程是正在運行的程序它是線程的集合操作系統

    進程中必定有一個主線程線程

    一個操做系統能夠有多個線程3d

 

   什麼是線程?
對象

    線程就是獨立的運行一條執行路徑
blog

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

  爲何要使用多線程?

    多線程提升程序效率 , 使用多線程 , 每一個線程互補影響

 

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方法

多線程的運行狀態

相關文章
相關標籤/搜索