多人多轮抽奖案例需求:多人多轮抽奖实现难点:彩票奖品性的唯一性。代码:奖品线程包com.high.currency07;importjava.util.concurrent.Callable;publicclassPrizeThreadimplementsCallable{Objectobj=newObject();布尔标志=假;@OverridepublicObjectcall()throwsException{Thread.sleep(1000);同步(obj){如果(!flag){flag=true;returnThread.currentThread().getName()+"绘图成功!";}else{returnThread.currentThread().getName()+"抽奖失败!";}}}}测试线程:packagecom.high.currency07;importjava.util.concurrent.FutureTask;publicclassTest{publicstaticvoidmain(String[]args)throwsException{intmax=10,min=1;线程tha;螺纹thb;线程thc;线程数;线程;线程thf;对于(inti=1;i<21;i++){PrizeThreadthread=newPrizeThread();FutureTaskftA=newFutureTask(线程);FutureTaskftB=newFutureTask(线程);FutureTaskftC=newFutureTask(线程);FutureTaskftD=newFutureTask(线程);FutureTaskftE=newFutureTask(thread);FutureTaskftF=newFutureTask(线程);tha=newThread(ftA,"用户A");tha.setPriority((int)(Math.random()*(max-min)+min));开始();thb=newThread(ftB,"用户B");thb.setPriority((int)(Math.random()*(max-min)+min));thb.start();thc=newThread(ftC,"用户C");thc.setPriority((int)(Math.random()*(max-min)+min));开始();thd=newThread(ftD,"用户D");thd。setPriority((int)(Math.random()*(max-min)+min));thd.start();the=newThread(ftE,"用户E");the.setPriority((int)(Math.random()*(max-min)+min));开始();thf=newThread(ftF,"用户F");thf.setPriority((int)(Math.random()*(max-min)+min));thf.start();System.out.println("====="+i+"轮抽奖开始====");System.out.println(ftA.get());System.out.println(ftB.get());System.out.println(ftC.get());System.out.println(ftD.get());System.out.println(ftE.get());System.out.println(ftF.get());System.out.println("====="+i+"轮开奖结束====");线程.sleep(500);}}}结果:=====第一轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖成功!用户F抽奖失败!=====第一轮抽奖结束=========第二轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第二轮抽奖结束=========第三轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖成功!用户E抽奖失败!用户F抽奖失败打败!=====第3轮抽奖结束=========第4轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第4轮抽奖结束=========第5轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第五轮抽奖结束=========第六轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第6轮抽奖结束=========第7轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖成功!=====第7轮抽奖结束=========第8轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖成功!用户E抽奖失败!用户F抽奖失败!=====第8轮抽奖结束=========第9轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖成功!用户E抽奖失败!用户F抽奖失败!=====第9轮抽奖结束=========第10轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第10轮抽奖结束=========第11轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第11轮抽奖结束=========第12轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第12轮抽奖结束=========第13轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第13轮抽奖结束=========第14轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第14轮抽奖结束==========第15轮抽奖开始====用户A抽奖成功!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第15轮抽奖结束=========第16轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖成功!=====第16轮抽奖结束=========第17轮抽奖开始====用户A抽奖失败!用户B抽奖成功!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第十七轮抽奖结束=========第十八轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖成功!用户D抽奖失败!用户E抽奖失败!用户F抽奖失败!=====第18轮抽奖结束=========第19轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖成功!用户E抽奖失败!用户F抽奖失败!=====第19轮抽奖结束=========第20轮抽奖开始====用户A抽奖失败!用户B抽奖失败!用户C抽奖失败!用户D抽奖失败!用户E抽奖失败!用户F抽奖成功!=====第20轮抽奖结束====github