java 线程通讯 主线程运行10次接着子线程运行5次,如此反复运行20次代码实现
来源:互联网 发布:中职网络的主题班会 编辑:程序博客网 时间:2024/06/06 16:53
package cn.lmj201402;
public class TraditionalThreadCommunication
{
public static void main(String[] args)
{
final Business business = new Business();
new Thread(new Runnable()
{
@Override
public void run()
{
for(int i = 0;i<20;i++)
{
business.main();
}
}
}).start();
for(int i = 0;i<20;i++)
{
business.sub();
}
}
}
class Business
{
boolean b = true;
public synchronized void main()
{
if(!b)
{
try
{
wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
for(int i = 0;i<10;i++)
{
System.out.println("Main "+i);
}
b = false;
notify();
}
public synchronized void sub()
{
if(b)
{
try
{
wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
for(int i = 0;i<5;i++)
{
System.out.println("Sub"+i);
}
b = true;
notify();
}
}
public class TraditionalThreadCommunication
{
public static void main(String[] args)
{
final Business business = new Business();
new Thread(new Runnable()
{
@Override
public void run()
{
for(int i = 0;i<20;i++)
{
business.main();
}
}
}).start();
for(int i = 0;i<20;i++)
{
business.sub();
}
}
}
class Business
{
boolean b = true;
public synchronized void main()
{
if(!b)
{
try
{
wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
for(int i = 0;i<10;i++)
{
System.out.println("Main "+i);
}
b = false;
notify();
}
public synchronized void sub()
{
if(b)
{
try
{
wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
for(int i = 0;i<5;i++)
{
System.out.println("Sub"+i);
}
b = true;
notify();
}
}
0 0
- java 线程通讯 主线程运行10次接着子线程运行5次,如此反复运行20次代码实现
- 子线程先运行10次 ,主线程再运行10次,如此反复的运行20次
- 传统线程通信(子线程运行10次,主线程运行100次,如此循环50次)
- 主线程先循环20次,接着子线程循环10次,如此周而复始50次
- 子线程先执行10次,主线程执行5次,子线程再执行10次,主线程再执行5次,如此反复3次
- 用Lock和Condition,实现主线程执行5次,子线程再执行10次,孙线程执行15次,如此反复5次
- 子线程循环10次 主线程循环100次 然后如此反复50次
- java多线程: 子线程循环10次,主线程接着循环100次,如此循环50次
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- 线程通信(子线程运行10次,主线程运行100次,如此循环50次)[用condition替代wait,notify等待和唤醒操作]
- c++实现子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次
- java线程面试题之--两个线程,子线程10次,主线程5次,子线程10次,主线程5次,如此往复50次
- 子线程循环10次,接着主线程循环5次,接着又回到子线程循环10次,接着再回到主线程又循环5次,如此循环50次,请写出程序。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
- 面试题:子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次,请写出程序
- 移动开发之iOS基础开发(一)
- 程序员的职业规划
- How to Cluster Magento, nginx and MySQL on Multiple Servers for High Availability
- [黑马程序员]集合--TreeSet
- 数据结构经典问题——出栈顺序
- java 线程通讯 主线程运行10次接着子线程运行5次,如此反复运行20次代码实现
- 程序员职业规划问题《程序员》
- 题目1361:翻转单词顺序
- asp.net页面之间传递的方式
- 软件工程师的务实职业生涯规划
- (39)FileInputStream和FileOutputStream实现复制本文件到指定文件
- 微软100题-天天做-第16题
- jquery 将汉字转换成UTF-8
- 一个老程序员的工作经历