博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用面向对象的思想实现主从线程下多次循环的切换(因为他们要同步,所以他们是有关联的,所以把它们放在一个类里)...
阅读量:5342 次
发布时间:2019-06-15

本文共 1953 字,大约阅读时间需要 6 分钟。

1 import java.util.concurrent.atomic.AtomicInteger; 2  3 public class TraditionalThreadCommunication { 4  5     /** 6      * @param args 7      */ 8     public static void main(String[] args) { 9         10         final Business business = new Business();11         new Thread(12                 new Runnable() {13                     14                     @Override15                     public void run() {16                     17                         for(int i=1;i<=50;i++){18                             business.sub(i);19                         }20                         21                     }22                 }23         ).start();24         25         for(int i=1;i<=50;i++){26             business.main(i);27         }28         29     }30 31 }32   class Business {33       private boolean bShouldSub = true;34       public synchronized void sub(int i){35           while(!bShouldSub){36               try {37                 this.wait();38             } catch (InterruptedException e) {39                 // TODO Auto-generated catch block40                 e.printStackTrace();41             }42           }43             for(int j=1;j<=10;j++){44                 System.out.println("sub thread sequence of " + j + ",loop of " + i);45             }46           bShouldSub = false;47           this.notify();48       }49       50       public synchronized void main(int i){51               while(bShouldSub){52                   try {53                     this.wait();54                 } catch (InterruptedException e) {55                     // TODO Auto-generated catch block56                     e.printStackTrace();57                 }58               }59             for(int j=1;j<=100;j++){60                 System.out.println("main thread sequence of " + j + ",loop of " + i);61             }62             bShouldSub = true;63             this.notify();64       }65   }

 

转载于:https://www.cnblogs.com/lyunyu/p/3495471.html

你可能感兴趣的文章
[Android] Android studio gradle 插件的版本号和 gradle 的版本号 的对应关系
查看>>
web.xml的配置中<context-param>配置作用
查看>>
Sizeof and Strlen
查看>>
iOS基础--通讯录
查看>>
vue自定义组件的递归
查看>>
vue动态加载不同的组件(分内部和外部组件)
查看>>
vue 异步渲染
查看>>
Vue v-bind与v-model的区别
查看>>
vue插件(还真是第一次接触)
查看>>
加冒号的,说明=后面的是一个变量或者表达式,没加冒号的=后面就是对应的字符串字面量...
查看>>
ASPxComboBox默认情况下不显示代码和名称,特别头疼,直到发现了关键
查看>>
npm全局模块卸载及默认安装目录修改方法
查看>>
Maven私服搭建
查看>>
基于Docker的GitLab搭建
查看>>
MySql索引
查看>>
一、线程与进程基础知识
查看>>
java之Arrays.asList
查看>>
二、java实现多线程的方式?
查看>>
IFrame消息传递
查看>>
密码的加密方式
查看>>