利用面向对象的思想实现主从线程下多次循环的切换(因为他们要同步,所以他们是有关联的,所以把它们放在一个类里)
2013-12-28 16:37
483 查看
import java.util.concurrent.atomic.AtomicInteger; public class TraditionalThreadCommunication { /** * @param args */ public static void main(String[] args) { final Business business = new Business(); new Thread( new Runnable() { @Override public void run() { for(int i=1;i<=50;i++){ business.sub(i); } } } ).start(); for(int i=1;i<=50;i++){ business.main(i); } } } class Business { private boolean bShouldSub = true; public synchronized void sub(int i){ while(!bShouldSub){ try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int j=1;j<=10;j++){ System.out.println("sub thread sequence of " + j + ",loop of " + i); } bShouldSub = false; this.notify(); } public synchronized void main(int i){ while(bShouldSub){ try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int j=1;j<=100;j++){ System.out.println("main thread sequence of " + j + ",loop of " + i); } bShouldSub = true; this.notify(); } }
相关文章推荐
- 利用面向对象的思想实现一套代码,要求一个APP支持微信支付,支付宝支付,银联支付
- 因为应用代码正在发送一个输入同步呼叫,所以无法执行传出地呼叫
- 如何实现多个线程写、一个线程读的队列,并且所有线程间不需要等待同步
- 这里实现一个基于数组的线程安全的循环队列
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用条件变量实现线程间同步
- 利用AnimationDrawable实现控件的背景图片循环切换
- 孙鑫VC学习笔记:第十六讲 利用事件对象实现线程间的同步
- 利用Handler配合线程来实现定时切换图片(18)
- 因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫 -- 解决方法
- Visual C++利用互斥量同步线程实现文件读取进度条
- 多个form表单之间的数据在一个方法中实现,利用入口思想
- iOS开发:一个瀑布流的设计与实现(已实现缓存池功能,该功能使得瀑布流cell可以循环利用)
- 孙鑫VC学习笔记:第十六讲 利用关键代码段实现线程间的同步
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用线程的同步和互斥解决两个消费者两个生产者一个临界区问题
- 安卓中利用TranslateAnimation实现图片循环移动时候的出现的一个问题,在这里记一下
- 如何利用c++11的新特性编写类成员线程函数并实现同步
- 拖拽系列二、利用JS面向对象OOP思想实现拖拽封装
- C#基础第七天-作业-利用面向对象的思想去实现名片-动态添加