摘要: classSingleDemo{publicstaticvoidmain(String[]args){for(inti=1;i<10;i++){Threadt1=newTest();t1.start();}}}classTestextendsThread{publicvoidrun(){Singlesingle=Single.getInstance();System.out.println(this.getName()+"getInstance:"+single);}}classSingle{privatestaticfinalSingleSINGLE=newSing 阅读全文
posted @ 2013-01-14 22:40 陈晓明 阅读(197) 评论(0) 推荐(0) 编辑
摘要: classSingleDemo{publicstaticvoidmain(String[]args){for(inti=1;i<10;i++){Threadt1=newTest();t1.start();}}}classTestextendsThread{publicvoidrun(){Singlesingle=Single.getInstance();System.out.println(this.getName()+"getInstance:"+single);}}classSingle{privatestaticSinglesingle=null;private 阅读全文
posted @ 2013-01-14 22:37 陈晓明 阅读(168) 评论(0) 推荐(0) 编辑
摘要: classSaleTicketDemo{publicstaticvoidmain(String[]args){Ticketticket=newTicket();for(inti=1;i<6;i++){newThread(ticket,"window"+i).start();try{Thread.sleep(10);}catch(Exceptionex){System.err.println(ex.getMessage());}}}}classTicketimplementsRunnable{privateintnum=1000;publicvoidrun(){whil 阅读全文
posted @ 2013-01-14 22:23 陈晓明 阅读(226) 评论(0) 推荐(0) 编辑
摘要: classBankDemo{publicstaticvoidmain(String[]args){Threadt1=newThread(newPerson());Threadt2=newThread(newPerson());t1.start();t2.start();}}classPersonimplementsRunnable{privatestaticBankbank=newBank();publicvoidrun(){for(inti=0;i<3;i++){bank.add(100);}}}classBank{privateintsum;publicvoidadd(intn){s 阅读全文
posted @ 2013-01-14 22:13 陈晓明 阅读(406) 评论(0) 推荐(0) 编辑
摘要: classDeadLockDemo{publicstaticvoidmain(String[]args){Ticketticket=newTicket();for(inti=1;i0){try{Thread.sleep(10);}catch(Exceptione){}System.out.println(Thread.currentThread().getName()+"..sale.."+num--);}}}} 阅读全文
posted @ 2013-01-14 22:03 陈晓明 阅读(240) 评论(0) 推荐(0) 编辑
摘要: classDeadLockDemo{publicstaticvoidmain(String[]args){Threadt1=newThread(newTest(true));Threadt2=newThread(newTest(false));t1.start();t2.start();}}classTestimplementsRunnable{privatebooleanflag;publicTest(booleanflag){this.flag=flag;}publicvoidrun(){if(flag){synchronized(Locks.object1){System.out.pr. 阅读全文
posted @ 2013-01-14 21:47 陈晓明 阅读(320) 评论(0) 推荐(0) 编辑