java 多線程面試

來源:互聯網
上載者:User

標籤:method   ola   not   sleep   tar   public   就是   產生   this   

一、多線程的建立

1、多線程的建立

(1)、繼承Thread類

(2)、實現Runnable介面

2、兩種啟動線程方法的區別

  1、共同點 必須調用Thread 產生線程,然後調用start()方法 開啟這個線程

  2、不同點 因為Java是單繼承這個特點 所以為了彌補這個缺點 我們可以實現Runnable介面 靈活

       如果繼承Thread類 那麼多線程的話,就必須相應產生多個線程

       如果實現Runnable介面,只需建立一個實現這個類的執行個體,然後用這個執行個體產生多個線程,就實現了資源的共用

3、start/run方法的區別

  start方法說明進入就緒狀態,什麼時候執行是看作業系統調度的,而run方法 是按順序執行,沒有多線程的效果

 

二、線程間通訊

  1、synchronized關鍵字

    1)、synchronized對象鎖

      

synchronized public void methodA(){}public void methodB(){  synchronized(this){        }}

    2)、synchronized來實現線程間的通訊  

      就是通過共用變數來進行通訊

    3)、synchronized/volatile

    4)、synchronized/lock

  2、sleep/wait

  3、wait/notify機制

 

java 多線程面試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.