- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验(生产者消费者问题java实现)精品
操作系统实验(生产者消费者问题java实现)
一 实验目的
1 深刻理解进程同步的概念。
2 掌握经典同步问题,生产者——消费者问题。
二 实验设备
PC机
三 实验内容
在Java开发平台模拟经典进程同步问题,生产者——消费者问题。
四 程序的主要代码
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class PAC extends JFrame{
protected JButton producer1,producer2,producer3,consumer1,consumer2,consumer3;
protected JTextField blank1,blank2,blank3,blank4,blank5;
int[] array = new int[5];
public PAC(){
JPanel p1 = new JPanel(new FlowLayout(FlowLayout.CENTER,2,2));
p1.add(producer1 = new JButton(生产者1));
p1.add(producer2 = new JButton(生产者2));
p1.add(producer3 = new JButton(生产者3));
JPanel p2 = new JPanel(new FlowLayout(FlowLayout.CENTER,2,2));
p2.add(new JLabel(缓冲区));
p2.add(blank1 = new JTextField(5));
p2.add(blank2 = new JTextField(5));
JPanel p3 = new JPanel(new FlowLayout(FlowLayout.CENTER,2,2));
p3.add(consumer1 = new JButton(消费者1));
p3.add(consumer2 = new JButton(消费者2));
p3.add(consumer3 = new JButton(消费者3));
JPanel p4 = new JPanel(new GridLayout(4,1,2,2));
p4.add(new JLabel(阻塞队列));
p4.add(blank3 = new JTextField(5));
p4.add(blank4 = new JTextField(5));
p4.add(blank5 = new JTextField(5));
JPanel p5 = new JPanel(new GridLayout(3,1,10,50));
p5.add(p1);
p5.add(p2);
p5.add(p3);
JPanel p6 = new JPanel(new BorderLayout(3,3));
p6.add(p4,BorderLayout.EAST);
p6.add(p5,BorderLayout.CENTER);
setLayout(new FlowLayout(FlowLayout.CENTER,10,20));
this.getContentPane().add(p6);
producer1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
wh(1);
}
});
producer2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
wh(2);
}
});
producer3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
wh(3);
}
});
consumer1.addActionListe
文档评论(0)