java 並發筆記__java

來源:互聯網
上載者:User

使用線程機制是一種建立透明的,可擴充的程式的方法。


Thread.yield()  是對線程調度器(Java線程機制的一部分,可以將CPU從一個線程轉到另一個線程)的一種建議,它在聲明:“我已經執行完生命週期中最重要的部分了,此刻正是切換給其他任務執行一段時間的大好時機。


可以再一個任務的內部,通過調用Thread,currentThread()來獲得對驅動該任務的Thread對象的引用。” 2. 從任務中產生傳回值

線程中Runnable是執行工作的獨立任務,它不返回任何值。如果你希望任務在完成時能夠返回一個值,那麼要實現Callable介面而不是Runnable介面。

Callable是一種具有型別參數的泛型,他的型別參數表示的是從方法call()(而不是run())中返回的值,並且必須使用ExecutorService.submit()方法調用。

3. 優先順序 線程的優先順序將該線程的重要性傳遞給了調度器。儘管CPU處理現有線程集的順序是不確定的,但是調度器將傾向於讓優先權高的線程先執行。這不意味著優先權較低的線程得不到執行(優先權不會導致死結)。優先權較低的線程僅僅是執行的頻率較低。 優先順序是在run()的開頭部分設定的,不要在構造器中設定。 setPriority(),getpriority()。 在調整優先順序的時候,只是用 MAX_PRIORITY, NORM_PRIORITY,MIN_PRIORITY。   線程

4.後台線程 所謂後台(daemon)線程,是指在程式啟動並執行時候再後台提供一種泛型服務的線程。 當所有的非後台線程結束時,程式也就終止了,同時會殺死進程中的所有後台線程。

使用 xxxx.setDaemon(true)來把線程設定為後台線程。

聯繫我們

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