实验七 多线程.doc

实验七 多线程.doc

ID:56777148

大小:309.00 KB

页数:9页

时间:2020-07-09

实验七 多线程.doc_第1页
实验七 多线程.doc_第2页
实验七 多线程.doc_第3页
实验七 多线程.doc_第4页
实验七 多线程.doc_第5页
资源描述:

《实验七 多线程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验7多线程实验目的(1)掌握Java多线程的概念和实现(2)掌握使用继承Thread产生线程(3)实现Runnable接口产生线程(4)掌握wait-notify机制任务一:多线程输出字符串(继承Thread类)创建两个独立的线程,一个线程打印20次“A”,另一个线程打印20次“B”,输出结果类似于:ABBABAABBA…./*两个独立线程,分别输出A和B*/要求:使用继承Thread类的方式实现线程对象代码如下:A.java:packagefirst;publicclassAextendsThread{publicvoidrun(){for(inti=1;i<=

2、20;i++){System.out.print("A");}}}B.java:packagefirst;publicclassBextendsThread{publicvoidrun(){for(inti=1;i<=20;i++){System.out.print("B");}}}Test.java:packagefirst;publicclasstest{publicstaticvoidmain(String[]args){Aa;Bb;a=newA();b=newB();a.start();b.start();}}任务二:多个线程共同执行目标对象的任务(实现Ru

3、nnable)有一批零件(Part)的生产任务,总量是800个,生产一个零件耗时10ms。有4个车间(Workshop)共同完成这一批任务,分别统计每个车间各自生产了多少个零件并输出。代码如下:packagesecond;publicclassPart{publicstaticvoidmain(String[]args){Threadw1;Threadw2;Threadw3;Threadw4;Workspacews;ws=newWorkspace();w1=newThread(ws);w2=newThread(ws);w3=newThread(ws);w4=newT

4、hread(ws);w1.setName("WorkSpace1");w2.setName("WorkSpace2");w3.setName("WorkSpace3");w4.setName("WorkSpace4");w1.start();w2.start();w3.start();w4.start();try{Thread.sleep(2500);}catch(InterruptedExceptione){}ws.print();}}classWorkspaceimplementsRunnable{intpartamount=800;intc1=0;intc2=

5、0;intc3=0;intc4=0;publicvoidrun(){while(true){Stringname=Thread.currentThread().getName();if(name.equals("WorkSpace1")){change();c1=c1+1;}if(name.equals("WorkSpace2")){change();c2=c2+1;}if(name.equals("WorkSpace3")){change();c3=c3+1;}if(name.equals("WorkSpace4")){change();c4=c4+1;}try{

6、Thread.sleep(10);}catch(InterruptedExceptione){}if(partamount<=0){return;}}}publicvoidprint(){System.out.println("WorkSpace1:"+c1);System.out.println("WorkSpace2:"+c2);System.out.println("WorkSpace3:"+c3);System.out.println("WorkSpace4:"+c4);}publicsynchronizedvoidchange(){partamount=p

7、artamount-1;}}任务三:生产者-消费者问题(线程间通信)有一种商品Product类,一个货架类(GoodsShelf):拥有一个容量为size(可根据需要设定大小)的Product数组。生产者(Producer)往货架上放置商品,消费者(Consumer)从货架上消费商品。二者是并发执行的。(货架空的时候只能生产,货架满的时候只能消费。)使用多线程并发机制和线程间通信,模拟商品编号从1到100的生产和消费过程。要求:(必做)只模拟一个生产者和一个消费者的情况;(选作)模拟2个生产者和3个消费者的情况,生产商品的时间和消费商品的时间可以调整Thread

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

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

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