思科着力推进“无边界网络” 中国百城巡展开始
2010-06-30 10:04
309 查看
import java.util.ArrayList;
import java.util.List;
public class Plate {
List<Object> eggs = new ArrayList<Object>();
// 定义一个拿鸡蛋的方法,返回鸡蛋(基本数据类型)
public synchronized Object getEggs() {
if (eggs.size() == 0) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Object egg = eggs.get(0);// 当放入鸡蛋的时候拿到鸡蛋
eggs.clear();// 清空盘子
notify();// 唤醒等待的单个线程
System.out.println("拿到鸡蛋,你该放鸡蛋了");
return egg;
}
//定义一个放鸡蛋的方法,传入鸡蛋参数
public synchronized void putEggs(Object egg) {
if (eggs.size() >0 ) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
eggs.add(egg);// 往盘子里面放鸡蛋
notify();// 唤醒等待的单个线程
System.out.println("放入鸡蛋,你可以拿了!");
}
public static void main(String[] args) {
Plate plate = new Plate();
Thread t1 = new PutThread(plate);
Thread t2 = new GetThread(plate);
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// 给放鸡蛋添加单个线程
class PutThread extends Thread {
private Plate plate;
private Object egg = new Object();
public PutThread(Plate plate) {
this.plate = plate;
}
public void run() {
for (int i = 0; i < 10; i++) {
plate.putEggs(egg);
}
}
}
// 给拿鸡蛋添加单个线程
class GetThread extends Thread {
private Plate plate;
public GetThread(Plate plate) {
this.plate = plate;
}
public void run() {
for (int j = 0; j < 10; j++) {
plate.getEggs();
}
}
}
本文出自 “HarderXin” 博客,请务必保留此出处http://8786457.blog.51cto.com/8776457/1390003
import java.util.List;
public class Plate {
List<Object> eggs = new ArrayList<Object>();
// 定义一个拿鸡蛋的方法,返回鸡蛋(基本数据类型)
public synchronized Object getEggs() {
if (eggs.size() == 0) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Object egg = eggs.get(0);// 当放入鸡蛋的时候拿到鸡蛋
eggs.clear();// 清空盘子
notify();// 唤醒等待的单个线程
System.out.println("拿到鸡蛋,你该放鸡蛋了");
return egg;
}
//定义一个放鸡蛋的方法,传入鸡蛋参数
public synchronized void putEggs(Object egg) {
if (eggs.size() >0 ) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
eggs.add(egg);// 往盘子里面放鸡蛋
notify();// 唤醒等待的单个线程
System.out.println("放入鸡蛋,你可以拿了!");
}
public static void main(String[] args) {
Plate plate = new Plate();
Thread t1 = new PutThread(plate);
Thread t2 = new GetThread(plate);
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// 给放鸡蛋添加单个线程
class PutThread extends Thread {
private Plate plate;
private Object egg = new Object();
public PutThread(Plate plate) {
this.plate = plate;
}
public void run() {
for (int i = 0; i < 10; i++) {
plate.putEggs(egg);
}
}
}
// 给拿鸡蛋添加单个线程
class GetThread extends Thread {
private Plate plate;
public GetThread(Plate plate) {
this.plate = plate;
}
public void run() {
for (int j = 0; j < 10; j++) {
plate.getEggs();
}
}
}
本文出自 “HarderXin” 博客,请务必保留此出处http://8786457.blog.51cto.com/8776457/1390003
相关文章推荐
- 思科着力推进“无边界网络” 中国百城巡展开始
- 2011神码思科SMB市场推网络创新中国行
- 中国的Jolt大奖网络投票开始及阶段性总结
- 数据显示中国网络信息安全受思科等美企威胁
- 华为惠普入局挑战思科 中国企业网络市场混战
- 中国骨干网络设备多数用思科
- 联通更换思科设备:中国运营商开始重视安全
- 思科无边界网络部署指南
- 中国的Jolt大奖网络投票开始及阶段性总结
- 中国网络间谍被美国专家“人肉”(转载)
- 专题:中国网络安全20年历史大事记
- 中国三大电信营运商的3G网络制式、网速、价格对比
- 思科网络认证考试经过,。
- 思科网络实验之通过telnet访问路由器
- HDU 5832 A water problem(取模~)—— 2016中国大学生程序设计竞赛 - 网络选拔赛
- “中国网络学术文献出版总库”——期待这一天
- 网络上的中国:网站建设ICO的价值
- 深度学习原理——从神经网络开始
- ~思科网络基础~单臂路由~telnet交换机
- 28家中国域名商保有量统计:有孚网络升至第十五