多线程04_张孝祥-传统线程同步通信技术
来源:互联网 发布:注册免费域名 编辑:程序博客网 时间:2024/05/16 00:38
面试题
要求写出下面的程序:
子线程循环10次,接着换主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次,如此循环50次,请写出程序?
代码:
package org.yla;/** * 传统线程的同步通信 * @author huo_chai_gun 2014年12月16日下午10:32:54 *子线程循环10次,接着换主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次,如此循环50次,请写出程序? */public class TraditionalThreadCommunication {public static void main(String[] args) {final Business business = new Business();new Thread(new Runnable() {@Overridepublic 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{//标记 true表示sub 运行 false表示main运行private boolean isShouleSub =true;public synchronized void sub(int i){while(!isShouleSub){//说明不该sub运行try {this.wait();//等待} catch (InterruptedException e) {e.printStackTrace();}}for (int j = 1; j <= 10; j++) {System.out.println("sub thread sequece of " + j+ " ,loop of " + i);}isShouleSub=false;this.notify();//唤醒main运行}public synchronized void main(int i){while(isShouleSub){//说明不该main运行try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}for (int j = 1; j <= 100; j++) {System.out.println("main thread sequece of " + j+ " ,loop of " + i);}isShouleSub=true;this.notify();}}
0 0
- 多线程04_张孝祥-传统线程同步通信技术
- 04_张孝祥_Java多线程_传统线程同步通信技术
- 传统线程同步通信技术
- 传统线程同步通信技术
- 传统线程同步通信技术
- 【Java多线程与并发库】04 传统的线程同步通信技术-synchronized/wait/notify/notifyAll
- 01_张孝祥_Java多线程_传统线程技术回顾
- 【张孝祥并发课程笔记】03:传统线程同步通信技术
- 传统线程同步通信技术(三)
- 【java并发】传统线程同步通信技术
- 多线程03_张孝祥-传统线程互斥技术
- Java多线程基础(四)Java传统线程同步通信技术
- 【Java多线程与并发库】4.传统线程同步通信技术
- 【Java多线程与并发库】4.传统线程同步通信技术
- 传统线程通信技术
- 黑马程序员_多线程(2) 传统线程通信&Condtion
- 03_张孝祥_Java多线程_传统线程互斥技术_Synchronized
- 黑马程序员---Java中传统线程同步通信技术
- ObjectiveC 类的声明和使用
- 程序猿为什么会淡忘?
- Cannot Increase "nproc" Value More Than 1024 in Oracle Linux 6 (Doc ID 1487773.1)
- Summary
- 【HEVC学习与研究】27、CABAC解析语法元素SAO
- 多线程04_张孝祥-传统线程同步通信技术
- 嵌入式OS入门笔记-以RTX为案例:十.Keil的RTX调试支持
- java nio demo简单nio项目
- 心得体会
- 同步拷贝文件read write fcntl
- 1.QT中播放视频,录音程序的编写
- 【cocos2d-js官方文档】十八、Cocos2d-JS v3.0中的属性风格API
- 华氏温度转换成摄氏温度的程序
- 【HEVC学习与研究】28、第一帧第一个宏块的SAO部分完整解析结果