关于线程的小问题

Ji秋风 2004-08-16 10:25:03
一个线程在执行完任务之后,如何“告之”
主程序,任务已经执行完成?
多谢!
...全文
179 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
han10 2004-08-17
  • 打赏
  • 举报
回复

先up~
还没学到线程.
Ji秋风 2004-08-17
  • 打赏
  • 举报
回复
按照shangqiao的方法
它是直接去调用主程序的方法
如果有多个线程的话,那又如何处理呢
flashactionscript 2004-08-17
  • 打赏
  • 举报
回复
回复人: shangqiao(伤桥)

的方法比较简单哈~
Ji秋风 2004-08-17
  • 打赏
  • 举报
回复
主程序

MyThread m = new MyThread();
m.start();

wait(); // 这样?
在wait()之后的语句,肯定是在线程结束之后
才执行的吗?

线程代码
在run函数中添加

...
public void run() {
...
notify(); // 最后一行
}

是这样吗?
umbrella1984 2004-08-17
  • 打赏
  • 举报
回复
执行线程的时候start()以后主程序wait(),线程执行完以后notify();
Ji秋风 2004-08-17
  • 打赏
  • 举报
回复
up
Ji秋风 2004-08-17
  • 打赏
  • 举报
回复
我总共new 了三个线程.
它们并行执行,每个线程都执行一个"批量"任务.
我希望在这个线程都执行完之后能够"告之"主程序,
任务已经全部完成.否则我无法知道是否任务是否已经完成.
Ji秋风 2004-08-17
  • 打赏
  • 举报
回复
楼上兄弟,说说你的简单方法啊.
draco2002 2004-08-17
  • 打赏
  • 举报
回复
是这样,你的多个线程如果没有调用wait(),则他们都是并行执行的,也就不用“告之”
主程序;

Java包含了通过wait( ),notify( )和notifyAll( )方法实现的一个进程间通信机制。

wait( ) 告知被调用的线程放弃管程进入睡眠直到其他线程进入相同管程并且调用notify( )。

notify( ) 恢复相同对象中第一个调用wait( ) 的线程。
draco2002 2004-08-17
  • 打赏
  • 举报
回复
哈,越来越复杂了!
Ji秋风 2004-08-17
  • 打赏
  • 举报
回复
notify()方法具体如何使用啊
能不能说得稍微详细一点.
shangqiao 2004-08-17
  • 打赏
  • 举报
回复
还可以使用回调方法:
public interface Servlet{
void callback();
}
public class ServerImpl implements Server{
public void callback(){
System.out.println("线程已经执行完毕");
}
public void static main(String[]){
Server server=new ServerImpl();
ClientThread client=new ClientThread(server);
Thread testClient=new Thread(client);
testClient.start();
}
}
public class ClientThread implements Runnable{
private Server server;
public ClientThread(Server server){
this.server=server;
}
public void run(){
for(int i=0;i<1000;i++){

}
server.callback();
}
}
zgysc 2004-08-17
  • 打赏
  • 举报
回复
你可以用线程的join()方法,加入主线程
pigrain 2004-08-17
  • 打赏
  • 举报
回复
notify()就可以了。。^_^
bxts 2004-08-17
  • 打赏
  • 举报
回复
任务已经执行完成,它会自动结束线程啊,为什么要告知主程序?
draco2002 2004-08-16
  • 打赏
  • 举报
回复
用notify()啊

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧