继 生产和消费
来源:互联网 发布:淘宝美工主页设计 编辑:程序博客网 时间:2024/04/27 18:18
package com.zhihualesson20_1;
//消费者和生产者的关系
public class PrivderConsumer {
/**
* @param args
*/
// 多线程的输出
public static void main(String[] args) {
// TODO Auto-generated method stub
// 公共的存储空间
PeopleData peopledata = new PeopleData();
Consumer consumer = new Consumer(peopledata);
Product product = new Product(peopledata);
// 线程的开始
Thread t = new Thread(consumer);
Thread c = new Thread(product);
t.start();
c.start();
}
}
// 只定义个类初始化个变量
class PeopleData {
String name = "0";
String sex = "1";
boolean bfull = false;
//用它两可以说明线程同步
synchronized void writeData(String name, String sex) {
if (this.bfull == true) {
try {
this.wait();
} catch (Exception e) {
// TODO: handle exception
}
}
this.name = name;
try {
Thread.sleep(10);
} catch (Exception e) {
// TODO: handle exception
}
this.sex = sex;
this.bfull = true;
this.notify();
}
synchronized void getData() {
if (this.bfull == false) {
try {
this.wait();
} catch (Exception e) {
// TODO: handle exception
}
}
System.out.print(this.name);
try {
Thread.sleep(10);
} catch (Exception e) {
// TODO: handle exception
}
System.out.println(":" + this.sex);
this.bfull = false;
this.notify();
}
}
// 只输出---消费者
class Consumer implements Runnable {
// 构造函数
public Consumer(PeopleData peopledata) {
super();
this.peopledata = peopledata;
}
// 生明PeopleData的引用 变量peopledata
PeopleData peopledata;
public void run() {
while (true) {
peopledata.getData();
}
}
}
// 制造---生产者
class Product implements Runnable {
PeopleData peopledata;
int make = 0;
public void run() {
while (true) {
// 判断他的线程执行条件
synchronized (peopledata) {
if (make == 0) {
peopledata.writeData("张三", "男");
} else {
peopledata.writeData("翠花", "女");
}
make = (make + 1) % 2;
}
}
}
// 构造函数
public Product(PeopleData peopledata) {
super();
this.peopledata = peopledata;
}
}
- 继 生产和消费
- 生产和消费
- 线程 --生产和消费问题
- 生产消费
- 生产消费
- 用java实现生产和消费
- 8.05(生产和消费线程)
- Java API 生产和消费Kafka消息
- 进程同步实例--消费和生产问题
- rocketMq的消息的生产和消费
- kafka消费和生产的xml配置
- Java多线程的单生产单消费和多生产多消费问题的解决
- 通过pthread_mutex_lock和pthread_cond_wait实现生产消费模式,并且生产一次消费一次
- 习近平:积极推动我国能源生产和消费革命
- 习近平:积极推动我国能源生产和消费革命
- Java 多进程的生产和消费实现
- 线程间通信:生产线程和消费线程
- 消费和生产 二条线程同步 的例子
- QQ软件升级到2012版本后表情丢失
- Struts1基础说明
- 手机网页点击链接触发手机自动拨打或保存电话的代码
- 使用Flash Builder 4.5 对 Apple iOS设备的应用程序进行打包
- C语言陷阱和缺陷
- 继 生产和消费
- DataGrid自动调整行高
- Struts1标签库详解
- spi flash 驱动
- AJAX 跨域调用 快递查询API接口
- 3.关于版本号基础知识
- Linux split 和 cat详解
- linux中文问题
- 最简单的DP问题(POJ1163)