java 线程模型_Java基础篇之Java线程模型
Java運行系統在很多方面依賴于線程,所有的類庫設計都考慮到多線程。實際上,Java使用線程來使整個環境異步。這有利于通過防止CPU循環的浪費來減少無效部分。
為更好的理解多線程環境的優勢可以將它與它的對照物相比較。單線程系統的處理途徑是使用一種叫作輪詢的事件循環方法。
在該模型中,單線程控制在一無限循環中運行,輪詢一個事件序列來決定下一步做什么。一旦輪詢裝置返回信號表明,已準備好讀取網絡文件,事件循環調度控制管理到適當的事件處理程序。
直到事件處理程序返回,系統中沒有其他事件發生。這就浪費了CPU時間。這導致了程序的一部分獨占了系統,阻止了其他事件的執行。總的來說,單線程環境,當一個線程因為等待資源時阻塞(block,掛起執行),整個程序停止運行。
Java多線程的優點在于取消了主循環/輪詢機制。一個線程可以暫停而不影響程序的其他部分。例如,當一個線程從網絡讀取數據或等待用戶輸入時產生的空閑時間可以被利用到其他地方。
多線程允許活的循環在每一幀間隙中沉睡一秒而不暫停整個系統。在Java程序中出現線程阻塞,僅有一個線程暫停,其他線程繼續運行。
線程存在于好幾種狀態。線程可以正在運行。只要獲得CPU時間它就可以運行。運行的線程可以被掛起,并臨時中斷它的執行。一個掛起的線程可以被恢復(resume,允許它從停止的地方繼續運行。一個線程可以在等待資源時被阻塞(block)。在任何時候,線程可以終止,這立即中斷了它的運行。一旦終止,線程不能被恢復。
總結
以上是生活随笔為你收集整理的java 线程模型_Java基础篇之Java线程模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中多态的例子_java中的多态案
- 下一篇: java图片预览上传_Java实现图片上