java 線程總結(一),java線程總結

來源:互聯網
上載者:User

java 線程總結(一),java線程總結
1 Java程式天生就是多線程程式

public class MultiThread{public static void main(String[] args) {// 擷取Java線程管理MXBeanThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();// 不需要擷取同步的monitor和synchronizer資訊,僅擷取線程和線程堆棧資訊ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(false, false);// 遍曆線程資訊,僅列印線程ID和線程名稱資訊for (ThreadInfo threadInfo : threadInfos) {System.out.println("[" + threadInfo.getThreadId() + "] " + threadInfo.getThreadName());}}}

一個Java程式的運行不僅僅是main()方法的運行,而是main線程和多個其他線
程的同時運行。

2 使用多線程原因

1 多處理器核心;一個線程只能運行在一個處理器上
2 更快的回應時間

3 Java線程優先順序

1Java線程中,使用整型成員變數:priority來控制優先順序,優先順序的範圍從1-10 ,線上程構建的時間可以通過
setPriority(int)來設定優先權,預設優先順序是5.優先順序高的線程分配的時間片藥多餘優先順序低的線程。
2 程式的正確性不能依賴線程的優先順序,不同的JVM環境以及作業系統的不同,線程規劃回存在差異 有的作業系統回忽略線程優先順序。

4 線程的狀態

Java線程在整個生命週期內共會存在6種不同的狀態。在給定的一個時刻,線程只能處於一種狀態。

1 初始狀態-線程被構建 2 運行狀態 3阻塞狀態 4 等待狀態 5 逾時燈帶狀態 6終止狀態

可以看出,線程建立之後,掉喲個start() 方法開始運行。當縣城執行wait() 方法之後 進入等待狀態。進入等待狀態的線程需要依靠其他線程的通知才能回到運行狀態。逾時等待狀態實在等待狀態的基礎上加了逾時限制,也就是逾時時間到達了就會返回雲翔狀態。線程調用同步方法時,在沒有擷取到鎖的情況下,會進入到阻塞狀態。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。 http://blog.csdn.net/qq_32423845/article/details/79494209

相關文章

聯繫我們

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