多线程四
来源:互联网 发布:伊朗 美女 知乎 编辑:程序博客网 时间:2024/06/02 21:48
利用yeild方法来实现 : 生产者-消费者模型(主动放弃cpu但又去但与竞争)cpu表示压力很大
生产者类
class FlagSend implements Runnable{int theValue;boolean flag;@Overridepublic void run() {for (int i = 0; i < 5; i++) {while(flag){Thread.yield();}theValue = new Random().nextInt(1000); //制造食物System.out.println("send the value is:"+theValue);//自己去等待,让食客去消费flag = true;}}
消费者类
class FlagRec implements Runnable{private FlagSend flagSend;public FlagRec(FlagSend flagSend) {super();this.flagSend = flagSend;}@Overridepublic void run() {for (int i = 0; i < 5; i++) {while(!flagSend.flag){Thread.yield();}System.out.println("reciver the value is:"+flagSend.theValue);flagSend.flag = false;}}}主方法
public static void main(String[] args) {FlagSend send = new FlagSend();FlagRec rec = new FlagRec(send);Thread t1 = new Thread(send);Thread t2 = new Thread(rec);t1.start();t2.start();}
0 0
- 多线程(四)
- 多线程四
- 多线程(四)
- 多线程(四)_多线程互动
- 多线程之四
- 多线程编程之四
- 多线程进阶代码四
- 多线程学习笔记 四
- 多线程编程之四
- C++多线程(四)
- 多线程(四)同步--非常重要
- 多线程程序设计(四)
- c++多线程(四)
- c++多线程(四)
- 多线程学习笔记四
- C++多线程(四)
- 多线程学习之四
- 多线程高级话题(四)
- AJAX-实现服务端客户端异步通信
- CocoaPods的安装和使用
- Hibernate最基础的项目搭建与配置
- android studio 如何设置Console字体大小
- android 基础 res文件 动画anim
- 多线程四
- Log4j输出格式控制--log4j的PatternLayout参数含义以及详细配置
- AUTHORITY-CHECK常用事务代码
- 详解Nginx服务器中配置超时时间
- hdu 1058(简单dp)Humble Numbers
- Cordova 开发属于自己的插件(plugin
- Android dialog回弹效果
- 第一次写topcoder的注意事项
- HTTP四种常见的POST提交数据方式