资源简介

东北大学操作系统实验Java代码,最新,可供参考使用。
(学长学姐也是这样一步步过来的,实验还是要自己动手完成才有收获)

资源截图

代码片段和文件信息

import java.util.linkedList;

public class Basket {
    //basket的最大数量为10
    public linkedList store=new linkedList();
    public  linkedListgetStore(){
        return  store;
    }
    public  void  setStore(linkedList store){
        this.store=store;
    }
    //生产者方法
    public  synchronized  void push(Product productString threadName) {
        
        while (store.size() == 10) {
            try {
                System.out.println(threadName + “ATTENTION --> the basket is full now --> enter the waiting condition --> tell the consumer to consume“);
                //the basket is full
                this.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        //wake up all
        this.notifyAll();
        //put the product into the basket
        store.addLast(product);
        //print the product log
        System.out.println( threadName + “  has produced  production “ + product.getId() + “     util now  the basket  has “ + store.size() + “ product“);
        try {
            //线程睡眠
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    //消费者方法
    public synchronized  void  pop(String threadName){
        
        while(store.size()==0){
            try {

                    System.out.println(threadName + “ the basket is empty --> wait state --> tell the producer to product “);
                    //the basket is fullso enter the waiting condition
                    this.wait();
                }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
        //wake up all;
        this.notifyAll();
        //remove the production from the basket
        System.out.println(threadName+“ has consumed “+“production “+store.removeFirst().getId()+“     util now the capacity is “ +
               store.size());
        try {
            //waiting 1s every time after each produced to watch more convenient
            Thread.sleep(1000);
            }catch (InterruptedException e){
            e.printStackTrace();
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2272  2018-12-31 15:11  东北大学操作系统实验\实验1生产者消费者问题\Basket.java

     文件        318  2018-12-31 15:11  东北大学操作系统实验\实验1生产者消费者问题\Consumer.java

     文件        540  2018-12-31 15:11  东北大学操作系统实验\实验1生产者消费者问题\Producer.java

     文件        237  2018-12-31 15:11  东北大学操作系统实验\实验1生产者消费者问题\Product.java

     文件        853  2018-12-31 15:11  东北大学操作系统实验\实验1生产者消费者问题\Test.java

     文件        773  2018-12-31 15:14  东北大学操作系统实验\实验2时间片轮转法\PCB.java

     文件       3459  2018-12-31 15:14  东北大学操作系统实验\实验2时间片轮转法\RR.java

     文件        151  2018-12-31 15:14  东北大学操作系统实验\实验2时间片轮转法\test.java

     文件       1410  2018-12-31 15:16  东北大学操作系统实验\实验3\题目一\Simulate.java

     文件        140  2018-12-31 15:16  东北大学操作系统实验\实验3\题目一\Table.java

     文件       2291  2018-12-31 15:16  东北大学操作系统实验\实验3\题目二\Simulate.java

     文件        152  2018-12-31 15:16  东北大学操作系统实验\实验3\题目二\Table.java

     文件        560  2018-12-31 15:17  东北大学操作系统实验\实验4文件管理系统\AFD.java

     文件       1559  2018-12-31 15:17  东北大学操作系统实验\实验4文件管理系统\Login.java

     文件        416  2018-12-31 15:17  东北大学操作系统实验\实验4文件管理系统\MDF.java

     文件       6695  2018-12-31 15:17  东北大学操作系统实验\实验4文件管理系统\MyFile.java

     文件        703  2018-12-31 15:17  东北大学操作系统实验\实验4文件管理系统\UFD.java

     目录          0  2019-02-27 13:38  东北大学操作系统实验\实验3\题目一

     目录          0  2019-02-27 13:38  东北大学操作系统实验\实验3\题目二

     目录          0  2019-02-27 13:38  东北大学操作系统实验\实验1生产者消费者问题

     目录          0  2019-02-27 13:38  东北大学操作系统实验\实验2时间片轮转法

     目录          0  2019-02-27 13:38  东北大学操作系统实验\实验3

     目录          0  2019-02-27 13:38  东北大学操作系统实验\实验4文件管理系统

     目录          0  2019-02-27 13:39  东北大学操作系统实验

----------- ---------  ---------- -----  ----

                22529                    24


评论

共有 条评论