2014/9/28消费生产

  1 package ha;
  2 import java.io.*;
  3 import java.util.*;
  4
  5 public class wori
  6 {
  7     public static void main(String args[])
  8     {
  9         holder h = new holder();
 10         new Thread(new shifu(h)).start();
 11         new Thread(new man(h)).start();
 12     }
 13 }
 14
 15 class mantou
 16 {
 17     private int id;
 18     mantou(int id)
 19     {
 20         this.id = id;
 21     }
 22 }
 23
 24 class holder
 25 {
 26     int index = 0;
 27     mantou m[] = new mantou[6];
 28     synchronized void push()
 29     {
 30         if(index == 5)
 31         {
 32             try
 33             {
 34                 this.wait();
 35             }
 36             catch(InterruptedException e)
 37             {
 38
 39             }
 40         }
 41         m[index] = new mantou(index++);
 42         this.notify();
 43     }
 44
 45     synchronized mantou pop()
 46     {
 47         if(index == 0)
 48         {
 49             try
 50             {
 51                 this.wait();                    //
 52             }
 53             catch(InterruptedException e)
 54             {
 55
 56             }
 57         }
 58         this.notify();                                     //
 59         index--;
 60         return m[index];
 61     }
 62 }
 63
 64 class shifu implements Runnable
 65 {
 66     holder ho = null;
 67     shifu(holder h)
 68     {
 69         ho = h;
 70     }
 71     public void run()
 72     {
 73         for(int i = 0; i < 20; i++)
 74         {
 75             ho.push();
 76             System.out.println("生产了:" + i);
 77             try
 78             {
 79                 Thread.sleep((int)(Math.random() * 1000));
 80             }
 81             catch(InterruptedException e)
 82             {
 83
 84             }
 85         }
 86     }
 87 }
 88
 89 class man implements Runnable
 90 {
 91     holder ho = null;
 92     man(holder h)
 93     {
 94         ho = h;
 95     }
 96     public void run()
 97     {
 98         for(int i = 0; i < 20; i++)
 99         {
100             ho.pop();
101             System.out.println("消费了:" + i);
102             try
103             {
104                 Thread.sleep((int)(Math.random() * 1000));            //
105             }
106             catch(InterruptedException e)
107             {
108
109             }
110         }
111     }
112 }

主要就是wait和notify的使用

时间: 2024-08-04 10:10:20

2014/9/28消费生产的相关文章

2014.7.28

技术: db.runCommand( { removeshard: "shardName" } ) 在防火墙开启端口: 在/etc/sysconfig/iptables里添加 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT /etc/init.d/iptables restart 英语: swan 杂项: 黑天鹅事件 2014.7.28,布布扣,bubuko.com

2014/4/28 多校第九次

C:快速求N以内因数和,N以内互质数的和. 容斥版: 1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 #define maxn 1100000 5 #define LL long long 6 //N以内gcd(i,N)==1的i的和 7 using namespace std; 8 bool flag[maxn]; 9 int prim[maxn/3],cnt; 10 int pri

我的福州之行——2014.05.28

在回程的动车上面,感觉这次行程还是让我挺疲惫的. 这次福州比赛只有我们一支外省队伍参赛.我还是挺好奇学院为什么让我们公费过来的,毕竟不同于acm比赛有着悠久的历史和集中式的训练.这应该是我们学校初次以学校名义接触这类比赛. 于我,安全只是一个小兴趣,并没有花太多时间在上面.另外一个师兄也是被另一个队友W召唤过来的,他们俩是真的有在做网络安全的.起初我就类似于陪人过来玩玩的心情. 对于带队老师,我就不吐槽了,人挺好,但是思维跟我不在一个层面上,总的来说,喜欢凑热闹,喜欢形式.按照妹子说:那是参与度

Android应用开发相关下载资源(2014/06/28更新)

Android应用开发相关下载资源(2014/06/28更新) via http://blog.csdn.net/gyming/article/details/8168166/ http://dl.google.com/android/ADT-22.6.3.zip https://dl-ssl.google.com/android/repository/extras/intel/haxm-windows_r04.zip https://dl-ssl.google.com/android/repo

工作感悟-2014.6.28

最近发生了太多的事情,也思考了很多.人在一天天变老的过程中是否能及时的总结,吸取经验教训,是否有规划,都决定着你的现在和未来. 当我们小时候,感觉大人真好,有自由,有钱花,还可以管小孩,要听他的,就是因为他是大人,应该懂很多东西.当我们是大人的时候,发现很多东西和道理其实自己也不懂.要不停的学习,但也有很多人随遇而安.每个人都会选择每个人的生活方式,但最重要的是你是否清楚的知道自己需要什么.我这几年一直在找方向--迷茫--找方向--迷茫不停的循环.当然在每个阶段的感悟和想法是不一样的. 两年前我

2014.04.28基于CPLD的LCOS场序彩色视频控制器设计

基于CPLD的LCOS场序彩色视频控制器设计 作者:宋丹娜,代永平,刘艳艳,商广辉 发表刊物:液晶与显示,2009 学习时间:2014.04.28 文章讲述了-- (和上一篇论文有些相似之处) 1. 基于CPLD的彩色场序控制器,采用了乒乓操作. 2. 采用了降低刷新频率的技术,降低了功耗. 从文章中学到了-- 1. 硅基液晶 Liquid-Crystal-on-Silicon,LCOS.它是一种反射式的液晶显示器,尺寸小,分辨率高. 2. 空间混色法:每个彩色像素分成三原色同时混合. 3. 场

2014.04.28场序彩色视频控制系统

场序彩色视频控制系统 作者:商广辉,代永平,黄茜,耿卫东 发表刊物:液晶与显示,2007 学习时间:2014.04.28 文章讲述了-- 1. 时序彩色法.即将红绿蓝三基色轮流投放在同一个屏幕上,这样产生的图像分辨率高,成本低. 2. 串行-并行数据转换.RGB数据是并行输入的24位数据,每种单色是8位的数据.但是FPGA在处理时使用的是32位的单色信息,即将四个像素上的单色信息放在一起.所以采用移位寄存器,将4个时钟周期的每24位中的8位分别提取进行存储. 3. 图像差值处理.由于显示分辨率的

Android应用开发相关下载资源(2014/6/28更新)

(1)Android SDK (Android SDK主安装包,包含SDK Manager.AVD Manager.工具包tools): revision 22.6.2http://dl.google.com/android/android-sdk_r22.6.2-windows.ziphttp://dl.google.com/android/installer_r22.6.2-windows.exehttp://dl.google.com/android/android-sdk_r22.6.2

2014.10.28模拟赛【时间与空间之旅】

Porble 1时间与空间之旅(tstrip.*) 题目描述 公元22××年,宇宙中最普遍的交通工具是spaceship.spaceship的出现使得星系之间的联系变得更为紧密,所以spaceship船长也成了最热门的职业之一.当然,要成为一名出色的船长,必须通过严格的考核,例如下面是最简单的问题中的一个. 用1~n的整数给n个星系标号,目前你在标号为1的星系,你需要送快递到标号为n的星系,星系之间由于存在陨石带,并不是都可以直连的.同时,由于超时空隧道的存在,在某些星系间飞行会出现时间静止甚至