当前位置: 首页 > news >正文

上海网站建设找思创网络建立起以什么会晤机制为引领

上海网站建设找思创网络,建立起以什么会晤机制为引领,wordpress使用百度统计,菠菜网站怎样做安全实验报告2-多线程并发 一、实现思路 生产者消费者问题描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中#xff0c;然后重复此过程。与此同时#xff0c;消费者也在缓冲… 实验报告2-多线程并发 一、实现思路 生产者消费者问题描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中然后重复此过程。与此同时消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据消费者也不会在缓冲区中空时消耗数据。要求 1、在缓冲区为空时消费者不能再进行消费 2、在缓冲区为满时生产者不能再进行生产 3、在一个线程进行生产或消费时其余线程不能再进行生产或消费等操作即保持线程间的同步 4、注意条件变量与互斥锁的顺序 二、实验步骤 Store仓库类 public class Store {// 仓库容量private int capacity;// 底层数据结构private List list new LinkedListObject();public int getCapacity() {return capacity;}public List getList() {return list;}// 构造函数为仓库容量赋值protected Store(int capacity) {this.capacity capacity;} } Producer生产者类 public class Producer implements Runnable{ ​//仓库private Store store; ​//构造方法实例化仓库public Producer(Store store) {this.store store;} ​Overridepublic void run() {while (true){produce();}} ​private synchronized void produce() {// 仓库未满,生产商品,唤醒消费者if (store.getList().size() store.getCapacity()) {// 生产商品store.getList().add(new Object());// 唤醒消费者notifyAll();System.out.println(String.format(%s生产了一件商品仓库商品数为%d,唤醒消费者,Thread.currentThread().getName(),store.getList().size()));// 休眠try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}// 仓库已满,休眠,等待被唤醒else {try {System.out.println(String.format(仓库已满%s休眠,Thread.currentThread().getName()));wait(3000);} catch (InterruptedException e) {e.printStackTrace();}}} } Consumer消费者类 public class Consumer implements Runnable{//仓库private Store store; ​//构造方法实例化仓库public Producer(Store store) {this.store store;} ​Overridepublic void run() {while (true){consume();}} ​private synchronized void consume() {// 仓库不为空消费商品唤醒生产者if (store.getList().size() 0) {// 消费商品store.getList().remove(0);// 唤醒生产者notifyAll();System.out.println(String.format(%s消费了一件商品仓库商品数为%d,唤醒生产者,Thread.currentThread().getName(),store.getList().size()));// 睡眠try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}// 仓库为空,休眠,等待被唤醒else {try {System.out.println(String.format(仓库为空%s休眠,Thread.currentThread().getName()));wait(3000);} catch (InterruptedException e) {e.printStackTrace();}}} } Test测试类 public class Test {public static void main(String[] args) {//实例化新建仓库对象设置仓库的容量Store store new Store(2);//实例化生产者对象Producer producer new Producer(store);//实例化消费者对象Consumer consumer new Consumer(store); ​//创建生产者线程new Thread(producer,生产者1).start();new Thread(producer,生产者2).start();//创建消费者线程new Thread(consumer,消费者1).start();new Thread(consumer,消费者2).start();} }
http://www.zqtcl.cn/news/520175/

相关文章:

  • 百度资料怎么做网站赣州有没有做网站的
  • 网站上地图怎么做的福建省晋江市建设局网站
  • 休闲咖啡厅网站开发目标站内推广的方法和工具
  • 东莞做营销型网站怎样利用网站做引流
  • 国际1688网站网络平台宣传费用
  • 免费网站自助建站18款禁游戏黄app入口
  • 网站建设要经历哪些步骤?wordpress主题king
  • 个人定制网站外贸免费网站建设
  • ASP网站建设实训报告总结宜昌本地网站建设
  • 甘肃省建设厅官方网站张睿建立网站服务器
  • 有没有做博物馆的3d网站网页美工设计岗前培训
  • 如何防止网站被盗长沙知名网站建设
  • 汕尾住房和建设局网站山西招标网
  • 网站建设那好山西建设厅网站
  • 2免费做网站外贸公司注册需要多少钱
  • 莘县网站定制安卓软件开发培训机构
  • 织梦视频网站源码有没有专门做名片的网站
  • 济南本地网站自己做的网站怎么置顶
  • wordpress能做多大的站好用的网站后台
  • 想自己做网站流程国家住建网查企业资质
  • 英文网站怎么设计google浏览器入口
  • 重庆网站建设公司魁网个人备案网站名
  • 怀柔营销型网站建设wordpress菜单定制
  • 大连装修网站推广天津市建设信息工程网
  • 服装网站建设建议域名注册最好的网站
  • 小游戏网站网络营销推广岗位
  • 做一百度网站保健品网站建设案例
  • 沙田镇仿做网站如何建设钓鱼网站
  • 如何用域名进网站企业做电商网站有哪些
  • soho做网站网站的k线图怎么做