Java多线程编程:多个线程间的通信问题 比如说我的程序有两个线程A和B,加上JVM的主线程,一共是三个线程,现在我要B线程在A线程结束后才启动,而主线程则不受影响,一直运行,该如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Threads{ public static void main(String args[]) { A a = new A(); B b = new B(a); a.start(); b.start(); } }class A extends Thread{ boolean cork = true; public void run() { for(int x = 1;x <=10;x++) { System.out.println("线程A:" + x); try{Thread.sleep(50);}catch(Exception e){} } setCork(); try{notifyAll();}catch(Exception e){} } public boolean getCork() { return cork; } public void setCork() { cork = false; } } class B extends Thread{ A a; public B(A a) { this.a = a; } public void run() { System.out.println("B等待A执行完完毕中......"); while(a.getCork()) { try{this.wait();}catch(Exception e){} } System.out.println("B开始执行中......"); for(int x = 1;x <=10;x++) { System.out.println("线程B:" + x); try{Thread.sleep(50); }catch(Exception e){} } } } b.join()a.start();如果主线程不等待的话.就再起个c线程,在c线程内public void run(){b.join();直到b线程运行结束,再运行下一步!a.start();} Java Swing怎么调用系统计算器 一个try catch的catch块问题 JAVA 压缩 文件夹的 问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 这是bug吗 jmf 报错 求高手 在线等 想用JAVA做开源软件的同志进来看看! 求助:自启动的servelet 关于APPLET安全问题[求助] 我想学java,朋友们帮帮忙 关于java静态修饰符的一个问题 EJB急救!! [求助]什么情况下必须用finally? 请举个简单的例子吧?
{
public static void main(String args[])
{
A a = new A();
B b = new B(a);
a.start();
b.start();
}
}
class A extends Thread
{
boolean cork = true;
public void run()
{
for(int x = 1;x <=10;x++)
{
System.out.println("线程A:" + x);
try{Thread.sleep(50);}catch(Exception e){}
}
setCork();
try{notifyAll();}catch(Exception e){}
}
public boolean getCork()
{
return cork;
}
public void setCork()
{
cork = false;
}
}
class B extends Thread
{
A a;
public B(A a)
{
this.a = a;
}
public void run()
{
System.out.println("B等待A执行完完毕中......");
while(a.getCork())
{
try{this.wait();}catch(Exception e){}
}
System.out.println("B开始执行中......");
for(int x = 1;x <=10;x++)
{
System.out.println("线程B:" + x);
try{Thread.sleep(50);
}catch(Exception e){}
}
}
}
a.start();
如果主线程不等待的话.就再起个c线程,在c线程内
public void run(){
b.join();
直到b线程运行结束,再运行下一步!
a.start();
}