熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

實戰Java多線程編程精要之限制優先級

2013-11-23 19:40:54  來源: Java高級技術 

  限制線程優先級和調度
  Java 線程模型涉及可以動態更改的線程優先級本質上線程的優先級是從 之間的一個數字數字越大表明任務越緊急JVM 標准首先調用優先級較高的線程然後才調用優先級較低的線程但是該標准對具有相同優先級的線程的處理是隨機的如何處理這些線程取決於基層的操作系統策略在某些情況下優先級相同的線程分時運行在另一些情況下線程將一直運行到結束請記住Java 支持 個優先級基層操作系統支持的優先級可能要少得多這樣會造成一些混亂因此只能將優先級作為一種很粗略的工具使用最後的控制可以通過明智地使用 yield() 函數來完成通常情況下請不要依靠線程優先級來控制線程的狀態
  
  小結
  本文說明了在 Java 程序中如何使用線程像是否應該使用線程這樣的更重要的問題在很大程序上取決於手頭的應用程序決定是否在應用程序中使用多線程的一種方法是估計可以並行運行的代碼量並記住以下幾點
  
  使用多線程不會增加 CPU 的能力但是如果使用 JVM 的本地線程實現則不同的線程可以在不同的處理器上同時運行(在多 CPU 的機器中)從而使多 CPU 機器得到充分利用
  
  如果應用程序是計算密集型的並受 CPU 功能的制約則只有多 CPU 機器能夠從更多的線程中受益
  
  當應用程序必須等待緩慢的資源(如網絡連接或數據庫連接)時或者當應用程序是非交互式的時多線程通常是有利的
  
  基於 Internet 的軟件有必要是多線程的否則用戶將感覺應用程序反映遲鈍例如當開發要支持大量客戶機的服務器時多線程可以使編程較為容易在這種情況下每個線程可以為不同的客戶或客戶組服務從而縮短了響應時間
  
  某些程序員可能在 C 和其他語言中使用過線程在那些語言中對線程沒有語言支持這些程序員可能通常都被搞得對線程失去了信心
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27278.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.