要求:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,
接着再回到主线程又循环100,如此循环50次,请写出程序。
我的程序如下:
public class MainThread extends Thread {
private Object lock;
private int num;
private int limit;
public MainThread(Object lock, int limit) {
this.lock = lock;
this.limit = limit;
}
public static void main(String[] args) {
Object lock = new Object();
SubThread sub = new SubThread(lock, 50);
sub.start();
MainThread thread = new MainThread(lock, 50);
thread.start();
}
public void run() {
while (true) {
if (this.num < limit) {
this.num++;
} else {
synchronized (lock) {
lock.notify(); // 通知子线程结束
System.out.println("通知子线程结束");
}
break;
}
synchronized (lock) {
lock.notify();
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
for (int i = 0; i < 100; i++) {
System.out.println("MainThread:" + i);
}
}
System.out.println("Main end.");
}
}
public class SubThread extends Thread {
private Object lock;
private int limit;
private int num;
public SubThread(Object lock, int limit) {
this.lock = lock;
this.limit = limit;
}
@Override
public void run() {
while (true) {
if (this.num < limit) {
this.num++;
} else {
break;
}
for (int i = 0; i < 10; i++) {
System.out.println("SubThread:" + i);
}
synchronized (lock) {
lock.notify();
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("Sub end.");
}
}
分享到:
相关推荐
Java多线程编程实战指南(核心篇) 高清pdf带目录 随着现代处理器的生产工艺从提升处理器主频频率转向多核化,即在一块芯片上集成多个处理器内核(Core),多核处理器(Multicore Processor)离我们越来越近了――如今...
java多线程编程,十分详细地讲解java多线程编程技术,视频教程
《Java多线程编程核心技术》建议猿友们读两遍,因为其写得没有那么抽象,第一遍有些概念不是很理解,可以先跳过并记录起来,第一遍阅读的目的主要是了解整个架构。第二遍再慢慢品味,并贯穿全部是指点来思考,并将...
Java 高并发编程相关知识, 接下来将阅读该书, 并且进行比较详细的总结, 好记性不如烂笔头, 加油。 Java 多线程编程实战指南。
JAVA多线程编程技术PDF,是最经典的那个版本,多线程的所有知识点完爆读者
现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。...本文档提供Java多线程编程经验,方便广大Java爱好者研究学习Java多线程
汪文君JAVA多线程编程实战(完整不加密)。 汪文君JAVA多线程编程实战(完整不加密),连接挂了留言, 我补 java 汪文君 多线程 视频教程 实战。
java多线程编程实例 java多线程编程实例 (源程序)
Java多线程编程Java多线程编程Java多线程编程Java多线程编程Java多线程编程Java多线程编程
java多线程编程指南,一个比较高级和深入的java编程学习资料。
详细介绍了java多线程的原理以及常用多线程编程方法及注意事项。
《Java多线程编程实例》随书源码《Java多线程编程实例》随书源码《Java多线程编程实例》随书源码
JAVA多线程编程技术探讨,深入JAVA多线程编程技术的基础
包括java的Thread类,同步块(synchronized),可重入锁,Object方法以及对象监视器等内容。
Java多线程编程核心技术和源码
java多线程编程实例
Java多线程编程,生命游戏,用线程池.zipJava多线程编程,生命游戏,用线程池.zip Java多线程编程,生命游戏,用线程池.zipJava多线程编程,生命游戏,用线程池.zip Java多线程编程,生命游戏,用线程池.zipJava多...