欢迎来到天天文库
浏览记录
ID:27821527
大小:670.47 KB
页数:23页
时间:2018-12-06
《东北大学操作系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程编号:B080000070《操作系统》实验报告姓名班纵指导教师石凯实验名称《操作系统》实验开设学期2016-2017第二学期开设时间第11周——第18周报告日期2017年7月3日评定成绩评定人石凯评定日期2017年7月5日东北大学软件学院实验一进程的同步与互斥实验题目:通过学习和分析基础例子程序,使用windows进程和线程编程(也可以采用Java或Unix/Linux的POSIX线程编程)实现一个简单的生产者/消费者问题的程序。importjava.util.ArrayList;publicclassProduce{publicObjectobject;pu
2、blicArrayListlist;//用list存放生产之后的数据,最人容量为1publicProduce(Objectobject,A”ayLiseger>list){this.object=object;this.list=list;}publicvoidproduce(){synchronized(object){/*只有list为空时才会去进行生产操作*/try{while(!list・isEmpty()){System.out.println(”牛产者"+Thread•currentThread()•getName()+nwaitin
3、g”);object•wait();}intvalue=9999;list.acldWalue);System•out•printin("生产者,,+Thread•currentThread()•getName()+HRunnable11);object.notifyAll();//然后去唤醒因object调用wait方法处丁阻塞状态的线程}catch(InterruptedExceptione){e.printStackTrace();}}}}importjava.util.ArrayList;publicclassConsumer{publicObjectob
4、ject;publicArrayListlist;//用list存放生产之后的数据,最大容量为1publicConsumer(Objectobject,ArrayListlist){this>object=object;this・1ist=list;}publicvoidconsmer(){synchronized(object){try{/*只有:List不为空时才会去进行消费操作*/while(list・isEmpty()){System.out.printIn(*'消费者"+Thread・currentThread()・g
5、etName()+"waiting");object・wait();}list・clear();System・out・printin(”消费考"+Thread・currentThread()・getName()+"Runnable");object.notifyAll();//然后去唤醒因object调用wait方法处J:阻塞状态的线程}catch(:EnterruptedExceptione){e・printStackTrace();}}}}实验结果:□-Problems⑷JavadocDeclaration0Console23
6、WorkspaceMigrati
7、onJAX-WSAnnotationsklJPAAnnotationsSpringAnnotationsMain[JavaApplication]C:Appmyeclipsebinarycom.sun.java・jdk8・win32・x86-64_1・8・0・v112binjavaw.exe(2017年7月7日下午6:29:14)〃住产者生产者2Runnable生产者生产奢2waiting消费者消费者1Runnable消费者消费者1waiting消费者消费者2waiting生产者生产者1Runnable生产者生产者1waitin
8、g消费者消费者2Runnable消费者消费者2waiting消费者消费者1waiting生产者生产者2Runnable生产者生产者2waiting消费者消费者1Runnable消费者消费者1waiting消费者消费者2waiting生产者生产者1Runnable生产者生产者1waiting消费者消费者2Runnable消费者消费者2waiting泊芳者消费考2waitine思考题:(1)如何控制进程间的相互通信?答:主要有:管道,信号,共享内存,消息队列(1)什么是进程的同步?什么是进程的互斥?分别有哪些实现方式?答:进程互斥是进程之间的间接制约关系。当一个进程进
9、入临界区使
此文档下载收益归作者所有