迎难而上
要求:机器生产零件,工人取走零件,机器先生产一个1号零件,工人取走一个1号零件,机器再生产一个2号零件,工人再取走,然后机器生产一个1号零件,工人取走,机器再生产一个2号零件,工人取走,就这样依次交替。在机器生产零件的时候,工人禁止取零件;在工人取零件的时候,机器禁止生产零件。
生产状态图如下:
程序代码如下:
此程序的输出结果如图:
这个程序涉及到并发多线程,多个线程共享一个资源,如果每个线程在同一时间同时修改这个资源那么势必会造成资源信息的不正确,为了防止这种情况发生,我们在此程序中定义了两个同步方法来给这个资源加上一把锁,在一个时间点上只能有一个线程使用这个资源,其他线程等待。
posted on 2010-11-09 11:51 冯魁 阅读(216) 评论(0) 编辑 收藏
Powered by: BlogJava Copyright © 冯魁