网友您好, 请在下方输入框内输入要搜索的题目:
publicclassTransfers{
publicstaticvoidmain(String[]args)throwsException{
Recordr1=newRecord();
Recordr2=newRecord();
doTransfer(r1,r2,5);
doTransfer(r2,r1,2);
doTransfer(r1,r2,1);
//printtheresult
System.out.println(”rl=+r1.get()+,r2=”+r2.get());
}
privatestaticvoiddoTransfer(
finalRecorda,finalRecordb,finalintamount){
Threadt=newThread(){
publicvoidrun(){
newClerk().transfer(a,b,amount);
}
};
t.start();
}
}
classClerk{
publicsynchronizedvoidtransfer(Recorda,Recordb,intamount){
synchronized(a){
synchronized(b){
a.add(-amount);
b.add(amount);
}
}
}
}
classRecord{
intnum=10;
publicintget(){returnnum;}
publicvoidadd(intn){num=num+n;}
}
IfTransfers.main()isrun,whichthreearetrue?()
参考答案
更多 “ publicclassTransfers{publicstaticvoidmain(String[]args)throwsException{Recordr1=newRecord();Recordr2=newRecord();doTransfer(r1,r2,5);doTransfer(r2,r1,2);doTransfer(r1,r2,1);//printtheresultSystem.out.println(”rl=+r1.get()+,r2=”+r2.get());}privatestaticvoiddoTransfer(finalRecorda,finalRecordb,finalintamount){Threadt=newThread(){publicvoidrun(){newClerk().transfer(a,b,amount);}};t.start();}}classClerk{publicsynchronizedvoidtransfer(Recorda,Recordb,intamount){synchronized(a){synchronized(b){a.add(-amount);b.add(amount);}}}}classRecord{intnum=10;publicintget(){returnnum;}publicvoidadd(intn){num=num+n;}}IfTransfers.main()isrun,whichthreearetrue?() ” 相关考题
![瑞牛题库 章节练习 历年真题 模拟试卷](http://assets.51tk.com/51_sidebar_right_index.jpg)