一道线程同步面试题
来源:互联网 发布:微博修改个性域名 编辑:程序博客网 时间:2024/05/21 18:26
package com.wsy.model;/** * 完成主线程循环10次,接着子线程循环5次,如此往复10次 * * @author wsy * */public class TraditionalThreadCommunication {static Bussiness bussiness = new Bussiness();public static void main(String[] args) {new Thread(new Runnable() {@Overridepublic void run() {for (int i = 1; i <= 10; i++) {bussiness.sub(i);}}}).start();for (int i = 1; i <= 10; i++) {bussiness.main(i);}}}class Bussiness {static boolean isThreadSub = true;public synchronized void sub(int i) {while (!isThreadSub) {try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}for (int j = 1; j <= 10; j++) {System.out.println("sub: " + j + " of loop " + i);}isThreadSub = false;this.notify();}public synchronized void main(int i) {while (isThreadSub) {try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}for (int j = 1; j <= 5; j++) {System.out.println("main: " + j + " of loop " + i);}isThreadSub = true;this.notify();}}
输出结果:
sub: 1 of loop 1
sub: 2 of loop 1
sub: 3 of loop 1
sub: 4 of loop 1
sub: 5 of loop 1
sub: 6 of loop 1
sub: 7 of loop 1
sub: 8 of loop 1
sub: 9 of loop 1
sub: 10 of loop 1
main: 1 of loop 1
main: 2 of loop 1
main: 3 of loop 1
main: 4 of loop 1
main: 5 of loop 1
sub: 1 of loop 2
sub: 2 of loop 2
sub: 3 of loop 2
sub: 4 of loop 2
sub: 5 of loop 2
sub: 6 of loop 2
sub: 7 of loop 2
sub: 8 of loop 2
sub: 9 of loop 2
sub: 10 of loop 2
main: 1 of loop 2
main: 2 of loop 2
main: 3 of loop 2
main: 4 of loop 2
main: 5 of loop 2
sub: 1 of loop 3
sub: 2 of loop 3
sub: 3 of loop 3
sub: 4 of loop 3
sub: 5 of loop 3
sub: 6 of loop 3
sub: 7 of loop 3
sub: 8 of loop 3
sub: 9 of loop 3
sub: 10 of loop 3
main: 1 of loop 3
main: 2 of loop 3
main: 3 of loop 3
main: 4 of loop 3
main: 5 of loop 3
sub: 1 of loop 4
sub: 2 of loop 4
sub: 3 of loop 4
sub: 4 of loop 4
sub: 5 of loop 4
sub: 6 of loop 4
sub: 7 of loop 4
sub: 8 of loop 4
sub: 9 of loop 4
sub: 10 of loop 4
main: 1 of loop 4
main: 2 of loop 4
main: 3 of loop 4
main: 4 of loop 4
main: 5 of loop 4
sub: 1 of loop 5
sub: 2 of loop 5
sub: 3 of loop 5
sub: 4 of loop 5
sub: 5 of loop 5
sub: 6 of loop 5
sub: 7 of loop 5
sub: 8 of loop 5
sub: 9 of loop 5
sub: 10 of loop 5
main: 1 of loop 5
main: 2 of loop 5
main: 3 of loop 5
main: 4 of loop 5
main: 5 of loop 5
sub: 1 of loop 6
sub: 2 of loop 6
sub: 3 of loop 6
sub: 4 of loop 6
sub: 5 of loop 6
sub: 6 of loop 6
sub: 7 of loop 6
sub: 8 of loop 6
sub: 9 of loop 6
sub: 10 of loop 6
main: 1 of loop 6
main: 2 of loop 6
main: 3 of loop 6
main: 4 of loop 6
main: 5 of loop 6
sub: 1 of loop 7
sub: 2 of loop 7
sub: 3 of loop 7
sub: 4 of loop 7
sub: 5 of loop 7
sub: 6 of loop 7
sub: 7 of loop 7
sub: 8 of loop 7
sub: 9 of loop 7
sub: 10 of loop 7
main: 1 of loop 7
main: 2 of loop 7
main: 3 of loop 7
main: 4 of loop 7
main: 5 of loop 7
sub: 1 of loop 8
sub: 2 of loop 8
sub: 3 of loop 8
sub: 4 of loop 8
sub: 5 of loop 8
sub: 6 of loop 8
sub: 7 of loop 8
sub: 8 of loop 8
sub: 9 of loop 8
sub: 10 of loop 8
main: 1 of loop 8
main: 2 of loop 8
main: 3 of loop 8
main: 4 of loop 8
main: 5 of loop 8
sub: 1 of loop 9
sub: 2 of loop 9
sub: 3 of loop 9
sub: 4 of loop 9
sub: 5 of loop 9
sub: 6 of loop 9
sub: 7 of loop 9
sub: 8 of loop 9
sub: 9 of loop 9
sub: 10 of loop 9
main: 1 of loop 9
main: 2 of loop 9
main: 3 of loop 9
main: 4 of loop 9
main: 5 of loop 9
sub: 1 of loop 10
sub: 2 of loop 10
sub: 3 of loop 10
sub: 4 of loop 10
sub: 5 of loop 10
sub: 6 of loop 10
sub: 7 of loop 10
sub: 8 of loop 10
sub: 9 of loop 10
sub: 10 of loop 10
main: 1 of loop 10
main: 2 of loop 10
main: 3 of loop 10
main: 4 of loop 10
main: 5 of loop 10
- 一道线程同步面试题
- java 一道线程面试题
- 多线程编程入门(6):一道线程同步与通信面试题
- 一道关于java线程的面试题
- 关于线程锁定的一道面试题
- c++并发编程:面试题-线程同步
- 一道面试题:多个线程按顺序输出
- 从一道网易面试题浅谈OC线程安全
- 从一道网易面试题浅谈OC线程安全
- 从一道网易面试题浅谈OC线程安全
- 一道微软面试题
- 一道面试题
- 华为一道面试题
- 一道面试题
- 一道面试题
- 一道sql面试题
- 一道面试题
- 一道面试题
- GPIO
- PHP跨域 简单处理
- vim 树形目录插件NERDTree安装及简单用法
- 面向对象版计算器(六)
- C++ Primer 学习笔记_83_模板与泛型编程 --一个泛型句柄类
- 一道线程同步面试题
- jdk1.6 官网下载地址
- 每天学习一个linux命令(1):ls命令
- 南阳理工OJ_题目1030 Yougth's Game[Ⅲ]
- Rails: 从零到部署至服务器
- org.hibernate.hql.ast.QuerySyntaxException: XX is not mapped [from XX]
- 美居购怎么样?加盟店类型有哪些?
- 蜗牛—职场规则,总有几条你不知道
- intellij idea 13&14 插件推荐及快速上手建议 (已更新!)