欢迎来到天天文库
浏览记录
ID:5764818
大小:30.50 KB
页数:2页
时间:2017-12-24
《独木桥问题多线程--java编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、publicclassPedestrianimplementsRunnable{staticintan,bn;staticintcount;booleanas=false,bs=false;publicstaticvoidmain(String[]args){Pedestrianp=newPedestrian();}publicPedestrian(){Scannerinputa=newScanner(System.in);System.out.println("请输入在a方向的行人数目:");an=inputa.nextInt();Sca
2、nnerinputb=newScanner(System.in);System.out.println("请输入在b方向的行人数目:");bn=inputb.nextInt();count=an+bn;while(count>0){thread1a=newthread1(this,"a");a.start();thread1b=newthread1(this,"b");b.start();}}classthread1extendsThread{publicthread1(Runnabler,Stringname){super(r,name)
3、;}}publicsynchronizedvoidrun(){thread1t=(thread1)Thread.currentThread();if(t.getName().equalsIgnoreCase("a")&&an>0&&bs==false){as=true;inti=(int)(Math.random()*100%an);if(i4、em.out.println("a方向上新增人数:"+n+"现要过桥人数为:"+(an+n));an=an+n;if(an==0){System.out.println("a方向上的人已全过桥!");}as=false;}if(t.getName().equalsIgnoreCase("b")&&bn>0&&as==false){bs=true;intj=(int)(Math.random()*100%bn);if(j5、+bn);intm;m=(int)(Math.random()*2);System.out.println("b方向上新增人数:"+m+"现要过桥人数为:"+(bn+m));bn=bn+m;if(bn==0){System.out.println("b方向上的已全过桥!");}bs=false;}count=an+bn;}}
4、em.out.println("a方向上新增人数:"+n+"现要过桥人数为:"+(an+n));an=an+n;if(an==0){System.out.println("a方向上的人已全过桥!");}as=false;}if(t.getName().equalsIgnoreCase("b")&&bn>0&&as==false){bs=true;intj=(int)(Math.random()*100%bn);if(j5、+bn);intm;m=(int)(Math.random()*2);System.out.println("b方向上新增人数:"+m+"现要过桥人数为:"+(bn+m));bn=bn+m;if(bn==0){System.out.println("b方向上的已全过桥!");}bs=false;}count=an+bn;}}
5、+bn);intm;m=(int)(Math.random()*2);System.out.println("b方向上新增人数:"+m+"现要过桥人数为:"+(bn+m));bn=bn+m;if(bn==0){System.out.println("b方向上的已全过桥!");}bs=false;}count=an+bn;}}
此文档下载收益归作者所有