任務(wù)要求:賬號里邊有1000元創(chuàng)業(yè)基金。規(guī)定:其中的兩位同學(xué)有取錢權(quán)限,用于購置物資。另外兩位同學(xué)有存錢權(quán)限,用于將營利的資金存回到賬號中。模擬銀行系統(tǒng)對用戶存款和取款的處理過程。源碼:class Resource{ private String name; private int money = 1000; private boolean flag = false; public synchronized void set(String name){ try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.name = name+money; money++; System.out.println(Thread.currentThread().getName()+"..已存入.."+this.name); flag = true; notifyAll(); } public synchronized void out(){ try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"..已提取.."+this.name); flag = true; notifyAll(); }}class depositors implements Runnable{ private Resource ?r; public depositors(Resource r){ this.r = r; } @Override public void run() { // TODO Auto-generated method stub while(true){ r.set("存錢"); } }}class Draw implements Runnable{ private Resource r; public Draw(Resource r){ this.r = r; } @Override public void run() { // TODO Auto-generated method stub while(true){ r.out(); } }}public class SetAndOutMoney { public static void main(String[] args) { // TODO Auto-generated method stub Resource r = new Resource(); Draw dr =new Draw(r); depositors de = new depositors(r); Thread t1 = new Thread(dr); Thread t2 = new Thread(dr); Thread t3 = new Thread(de); Thread t4 = new Thread(de); t1.start(); t2.start(); t3.start(); t4.start(); }}沒有報錯,為什么編譯時候沒有結(jié)果?
添加回答
舉報
0/150
提交
取消