黑马程序员技术交流社区
标题:
关于多线程的问题
[打印本页]
作者:
刘旭
时间:
2012-3-24 21:18
标题:
关于多线程的问题
package myclassloadertest;
//子线程打印3次,主线程打印5次;再子线程打印3次,主线程打印5次;……
public class TraditionalTimerTest {
static boolean isSub = true;
static A a = new A();
public static void main(String[] args) throws Exception {
new Thread(new Runnable() {
public void run() {
while (true) {
synchronized (A.class) {
while (!isSub) {
try {
a.wait();
} catch (Exception e) {
}
}
try {
for (int i = 1; i <= 3; i++) {
System.out.println("i=" + i + " " + "sub");
}
isSub = false;
a.notify();
} catch (Exception e) {
}
}
}
}
}).start();
new TraditionalTimerTest().main();
}
void main() throws Exception {
while (true) {
synchronized (A.class) {
while (isSub) {
a.wait();
}
for (int i = 1; i <= 5; i++) {
System.out.println("i=" + i + " " + "main");
}
isSub = true;
a.notify();
}
}
}
}
class A {
}
我自己编的,为什么总是抛出异常啊?
作者:
梁锡伟
时间:
2012-3-25 00:13
notify()是线程自身调用的吧。。。你用a.notify()是啥意思?
作者:
梁锡伟
时间:
2012-3-25 00:16
while里面wait();多次会报错
作者:
刘旭
时间:
2012-3-27 15:10
已解决,谢谢大家
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2