java之多线程实例 生产者与消费者
来源:互联网 发布:伊辛模型 知乎 编辑:程序博客网 时间:2024/05/22 06:10
1.加深线程同步操作的理解
2.了解object类中对线程的支持方法
package ThreadTest;class Info{// 定义信息类private String name = "李兴华"; // 定义name属性private String content = "JAVA讲师" ;// 定义content属性private boolean flag = false ;// 设置标志位public synchronized void set(String name,String content){if(!flag){try{super.wait() ;}catch(InterruptedException e){e.printStackTrace() ;}}this.setName(name) ;// 设置名称try{Thread.sleep(300) ;}catch(InterruptedException e){e.printStackTrace() ;}this.setContent(content) ;// 设置内容flag = false ;// 改变标志位,表示可以取走super.notify() ;}public synchronized void get(){if(flag){try{super.wait() ;}catch(InterruptedException e){e.printStackTrace() ;}}try{Thread.sleep(300) ;}catch(InterruptedException e){e.printStackTrace() ;}System.out.println(this.getName() + " --> " + this.getContent()) ;flag = true ;// 改变标志位,表示可以生产super.notify() ;}public void setName(String name){this.name = name ;}public void setContent(String content){this.content = content ;}public String getName(){return this.name ;}public String getContent(){return this.content ;}};class Producer implements Runnable{// 通过Runnable实现多线程private Info info = null ;// 保存Info引用public Producer(Info info){this.info = info ;}public void run(){boolean flag = false ;// 定义标记位for(int i=0;i<50;i++){if(flag){this.info.set("李兴华","JAVA讲师") ;// 设置名称flag = false ;}else{this.info.set("mldn","www.mldnjava.cn") ;// 设置名称flag = true ;}}}};class Consumer implements Runnable{private Info info = null ;public Consumer(Info info){this.info = info ;}public void run(){for(int i=0;i<50;i++){this.info.get() ;}}};public class demo1{public static void main(String args[]){Info info = new Info();// 实例化Info对象Producer pro = new Producer(info) ;// 生产者Consumer con = new Consumer(info) ;// 消费者new Thread(pro).start() ;new Thread(con).start() ;}};
0 0
- java之多线程实例 生产者与消费者
- Java回炉之多线程(二)生产者与消费者
- java学习笔记之多线程生产者与消费者
- java线程 生产者与消费者
- java线程 生产者与消费者
- 多线程之多消费者与生产者
- java线程模拟生产者与消费者
- 生产者与消费者 java经典线程法
- JAVA线程(生产者与消费者)
- JAVA 线程间通信 - 生产者与消费者
- java线程经典之生产者与消费者
- JAVA 线程间通信 - 生产者与消费者
- java线程通信 生产者与消费者模式
- java线程生产者与消费者模型
- java线程之生产者与消费者模式
- 经典多线程Java实例 生产者与消费者
- JAVA多线程实例(生产者与消费者问题)
- 线程生产者与消费者
- 传教士问题
- UVA - 10110 Light, more light
- 如何写gdb命令脚本
- 阿里IPO募集来得200亿美刀怎么花?
- Node.js v0.10.31API手册-Addons插件
- java之多线程实例 生产者与消费者
- CAP理论
- FMDB的简单使用方法
- C#获取硬件信息
- Hibernate实现最基本的增删改查
- yii 在试图中获取控制器 方法的例子
- 看好iPhone 6的七个不得不承认原因
- Lua 编译
- smali语法之方法与字段