java线程间通信
来源:互联网 发布:linux新建用户组 编辑:程序博客网 时间:2024/05/22 17:01
public class ThreadTest {public static void main(String[] args) throws Exception {final Bussiness business = new Bussiness();Thread thread1 = new Thread() {@Overridepublic void run() {business.SubThread();}};Thread thread2 = new Thread() {@Overridepublic void run() {business.MainThread();}};thread1.start();thread2.start();}}class Bussiness { private static Object LOCK = new Object(); static int num = 1;static int index = 0;static String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; public void MainThread() { synchronized (LOCK) {//notify和wait的对象一定要和synchronized的对象保持一致 while(index < str.length()) { if (num%3==0) { System.out.println(str.charAt(index)); index++ ; num++ ; if(num%3==1 || num%3==2) { try { LOCK.notify(); LOCK.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } }} } } public void SubThread() { synchronized (LOCK){while(num <= 52) { if (num%3==1 || num%3==2) { System.out.println(num); num++ ; if(num%3==0) { LOCK.notify(); try { LOCK.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } }} } }}
0 0
- JAVA线程-线程间通信
- java 线程间通信
- java线程间通信
- Java线程间通信
- java线程间通信
- Java-线程间通信
- java线程间通信
- Java线程间通信
- java线程间通信
- java线程间通信
- Java线程间通信
- Java线程间通信
- Java线程间通信
- Java线程间通信
- Java线程间通信
- java-线程间通信
- Java线程间通信
- java线程间通信
- 正则表达式攻略
- SQL行转列
- 或普通或文艺或2B的Hello World
- VBA 分割求平均值
- obs studio 安装之后出现can not find any D3DCompiler libraries
- java线程间通信
- 电商优惠券,优惠码的生成
- 数据库迁移之Mysql迁移Oracle
- Android响应式编程RxAndroid(1):简单例程
- 通过ffmpeg的接受发送rtp的指令
- nginx(2): 配置
- Easy RM to MP3 Converter漏洞分析报告
- AndroidStudio的一些代码恢复功能
- forEach实现原理