课程编号:B080000070《操作系统》实验报告班级指导教师实验名称《操作系统》实验开设学期2016-2017 第二学期开设时间第 11 周——第 18 周报告日期2017 年 7 月 3 日评定成绩评定人评定日期2017 年 7 月 5 日东北大学软件学院实验一进程的同步与互斥名姓实验题目:通过学习和分析基础例子程序,使用 windows 进程和线程编程(也可以采用 Java 或 Unix/Linux 的 POSIX 线程编程)实现一个简单的生产者/消费者问题的程序
关键代码:importjava
ArrayList;publicclassProduce{publicObjectobject;publicArrayListlist;//用 list 存放生产之后的数据,最大容量为 1publicProduce(Objectobject,ArrayListlist){this
object=object;this
list=list;}publicvoidproduce(){synchronized(object){/*只有 list 为空时才会去进行生产操作*/try{while(
isEmpty()){System
println(生产者+Thread
currentThread()
getName()+);object
wait();}intvalue=9999;list
add(value);System
println(生产者+Thread
currentThread()
getName()+);object
notifyAll();//然后去唤醒因 object 调用 wait 方法处于阻塞状态的线程}catch(InterruptedExceptione){e
printStackTrace();}}}}importjav