java实验14 多线程1 - 答案

java实验14 多线程1 - 答案

ID:47430418

大小:76.00 KB

页数:6页

时间:2020-01-11

java实验14 多线程1 - 答案_第1页
java实验14 多线程1 - 答案_第2页
java实验14 多线程1 - 答案_第3页
java实验14 多线程1 - 答案_第4页
java实验14 多线程1 - 答案_第5页
资源描述:

《java实验14 多线程1 - 答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验十四多线程(一)一、实验时间:姓名:学号:二、实验目的1、了解线程的概念;2、掌握通过Thread类创建线程;3、掌握通过Runnable接口创建多线程;4、掌握多线程的同步;三、知识点1、线程的概念;2、通过Thread类创建线程;3、通过Runnable接口创建多线程;4、同步函数四、实验内容与步骤1、请思考并举例说明为何需要多线程,实现多线程的好处是什么?2、编程实现以下功能:通过主线程控制另外两个线程,这两个线程分别在命令行窗口的左侧和右侧顺序地、一行一行地输出字符串。主线程负责判断输出的行数,当其中任何一个线程输出8行后就结束进程。要求:分别使用Thread的子类和Runa

2、ble接口创建线程。1)使用Thread的子类完成//主线程程序publicclassExample8_3{publicstaticvoidmain(String[]args){Leftleft=newLeft();Rightright=newRight();left.start();right.start();while(true){if(left.n==8

3、

4、right.n==8){System.exit(0);}}}}//左边线程publicclassLeftextendsThread{intn=0;publicvoidrun(){while(true){n++;System.ou

5、t.printf("%s","我在左面写字");try{sleep((int)(Math.random()*100)+100);}catch(InterruptedExceptione){}}}}//右边线程publicclassRightextendsThread{intn=0;publicvoidrun(){while(true){n++;System.out.printf("%40s","我在右面写字");try{sleep((int)(Math.random()*100)+100);}catch(InterruptedExceptione){}}}}2)Runable接口

6、创建线程//主线程程序publicclassExample8_4{publicstaticvoidmain(String[]args){Left1l1=newLeft1();newThread(l1).start();Right1r1=newRight1();newThread(r1).start();while(true){if(l1.n==8

7、

8、r1.n==8){System.exit(0);}}}}//左边线程publicclassLeft1implementsRunnable{intn=0;@Overridepublicvoidrun(){//TODOAuto-generated

9、methodstubwhile(true){n++;System.out.printf("%s","我在左面写字");try{Thread.sleep((int)(Math.random()*100)+100);}catch(InterruptedExceptione){}}}}//右边线程publicclassRight1implementsRunnable{intn=0;@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubwhile(true){n++;System.out.printf("%40s","我在右面写字"

10、);try{Thread.sleep((int)(Math.random()*100)+100);}catch(InterruptedExceptione){}}}}3、编程模拟四个售票进程共同出售100张火车票,要保证线程安全。publicclassThreadTestimplementsRunnable{privateinttickets=100;@Overridepublicvoidrun(){while(true)sale();}publicsynchronizedvoidsale(){if(tickets>0){System.out.println(Thread.current

11、Thread().getName()+"issalingticket"+tickets--);}}}publicclassThreadDemo{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubeThreadTestt=newThreadTest();newThread(t).start();newThread(t).start();newThread(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。