點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程第十一章匯總
11.3 線程優(yōu)先級(jí)
所有的線程都有一個(gè)優(yōu)先級(jí),當(dāng)幾個(gè)線程正等待機(jī)會(huì)時(shí)決定應(yīng)該執(zhí)行哪個(gè)。這使得可能一個(gè)線程可以比另一個(gè)得到更多的對(duì)處理器資源的訪問。讓我們考慮一個(gè)如何使用優(yōu)先級(jí)的基本例子。假設(shè)你有一個(gè)某程序中的線程,該程序需要所有的處理器資源--某些又難又長(zhǎng)的計(jì)算。另一些線程需要的資源相對(duì)較少。通過將需要所有資源的線程設(shè)置成低優(yōu)先級(jí),你可以確保其他的線程可以立即執(zhí)行,而被線程約束的處理器在其他線程輪流處理之后剩下的處理周期處理該線程。
private list inTray Collections.synsnonizedl.ist(new LinkedList());
private int maxTransactions //Max transaction in the intray
注意我們從構(gòu)造函數(shù)中刪除了將inTray初始化成null的語句:現(xiàn)在我們是針對(duì)一個(gè)表,我們必須改寫Clerk類中的doTransaction方法只要表中交易數(shù)少于MaxTransactions,就向表中存儲(chǔ)交易。這里被修改的代碼如下:
while(inTray.size()>=maxTrarsactions)
Try
{
wail();
system.io println;
{
inTray.add)transaction);
表的size()方法返回表中包含的對(duì)象個(gè)數(shù),因此檢查這個(gè)是件無關(guān)緊要的事。我們使用add()方法在表尾添加一個(gè)新的Transaction對(duì)象。
職員調(diào)用run()方法從輸入托盤中檢索對(duì)象。因此為了處理表,我們必須更新該方法。
線程是一個(gè)程序中的子任務(wù),可以并行執(zhí)行。
相關(guān)推薦:
2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |