所有的线程都有一个优先级当几个线程正等待机会时决定应该执行哪个这使得可能一个线程可以比另一个得到更多的对处理器资源的访问让我们考虑一个如何使用优先级的基本例子假设你有一个某程序中的线程该程序需要所有的处理器资源某些又难又长的计算另一些线程需要的资源相对较少通过将需要所有资源的线程设置成低优先级你可以确保其他的线程可以立即执行而被线程约束的处理器在其他线程轮流处理之后剩下的处理周期处理该线程
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入门经典在线教程完整版
[] []