所有的線程都有一個優先級當幾個線程正等待機會時決定應該執行哪個這使得可能一個線程可以比另一個得到更多的對處理器資源的訪問讓我們考慮一個如何使用優先級的基本例子假設你有一個某程序中的線程該程序需要所有的處理器資源某些又難又長的計算另一些線程需要的資源相對較少通過將需要所有資源的線程設置成低優先級你可以確保其他的線程可以立即執行而被線程約束的處理器在其他線程輪流處理之後剩下的處理周期處理該線程
private list inTray Collectionssynsnonizedlist(new LinkedList());
private int maxTransactions //Max transaction in the intray
注意我們從構造函數中刪除了將inTray初始化成null的語句現在我們是針對一個表我們必須改寫Clerk類中的doTransaction方法只要表中交易數少於MaxTransactions就向表中存儲交易這裡被修改的代碼如下
while(inTraysize()>=maxTrarsactions)
Try
{
wail();
systemio println;
{
inTrayadd)transaction);
表的size()方法返回表中包含的對象個數因此檢查這個是件無關緊要的事我們使用add()方法在表尾添加一個新的Transaction對象
職員調用run()方法從輸入托盤中檢索對象因此為了處理表我們必須更新該方法
線程是一個程序中的子任務可以並行執行
Java入門經典在線教程完整版
[] []
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27740.html