4、线程同步通信
来源:互联网 发布:openwrt cgi c语言 编辑:程序博客网 时间:2024/05/17 04:58
子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50,请写出程序。
package cn.itcast.thread;public class TraditionalComuication { public static void main(String[] args) { // TODO Auto-generated method stub new Thread( new Runnable() { @Override public void run() { // TODO Auto-generated method stub for(int i=1;i<=50;i++) { synchronized (Traditionthread.class) { for(int j=1;j<=10;j++) { System.out.println("sub thread sequece of"+i); } }} } }).start(); new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub for(int i=1;i<=50;i++) { synchronized (Traditionthread.class) { for(int j=1;j<=10;j++) { System.out.println("main thread sequece of"+i); } } } } }).start(); }}
使用如下的方法,将方法封装
package cn.itcast.thread;public class TraditionalComuication { public static void main(String[] args) { // TODO Auto-generated method stub final Business business=new Business(); new Thread( new Runnable() { @Override public void run() { // TODO Auto-generated method stub for(int i=1;i<=50;i++) { business.sub(i); } } }).start(); new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub for(int i=1;i<=50;i++) { business.main(i); } } }).start();}}class Business{ private boolean bshoildsub=true; public synchronized void sub(int i) { if(!bshoildsub) { 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 sequece of"+j+",loop of "+i); } bshoildsub=false; this.notify();// } public synchronized void main(int i) { if(bshoildsub) { 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 sequece of"+j+",loop of "+i); } bshoildsub=true; this.notify();//唤醒 }}
阅读全文
0 0
- 4、线程同步通信
- 线程通信和同步
- 线程同步通信
- 同步,线程通信,lock
- 线程同步通信
- 线程之同步通信
- 线程同步通信
- 线程同步与通信
- 线程同步、通信
- 线程 进程 同步 通信
- Thread02:线程同步通信
- 进程通信&线程同步
- 线程同步--线程间通信
- 线程同步--线程间通信
- 线程同步和线程通信
- 5.9 线程通信的同步
- 进程线程同步 进程通信
- JAVA线程同步、通信、中断
- Spark Runtime解密
- 军事机密
- MATLAB画圆
- 简单的springMvc用myeclipse使用流程第一篇
- Day4:学习shell script
- 4、线程同步通信
- Fibonacci(Java)
- C++11 基于范围的for循环
- 【Python】3“字符串和编码“
- 重构数据库分析
- 数据库中Schema(模式)概念的解说
- 操作系统资源汇总
- 用TensorFlow构造CNN进行手写数字识别
- Heidi and Library (easy)(cf5.18团队赛模拟水题)