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();} JDK没法安装,急!!! java 拆分字符串 一个比较疑惑的问题 谁能帮我把事件完成一下呀,非常感谢。看了半天实在不懂,明天要交作业。 <<CORE.JAVA.VOLUME I>>和VOLUME II 大家一共看了几遍? int和string的转换??? J2EE 请问java如何迁入汇编语言?可以读写端口么?usb可以么?有这样的类么? 请问怎样判断一个String变量的编码类型? 各为兄弟,小弟落伍,不知哪有jbuilder 6 企业版下载,兄弟们帮忙!!! 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();
}