Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
请教一个多线程的问题
06-04-19
ronin
public class VerifyQueryThread implements Runnable{
public void run(){
...
}
}
public static void startMutiThread(){
VerifyQueryThread target = new VerifyQueryThread();
for(int j = 0; j < 40;j++){
(new Thread(target)).start();
}
writeLog();
}
我希望writeLog()方法在那40个新开的线程都运行完毕后再执行 应该怎么改写代码? 谢谢
banq
2006-04-20 11:56
>40个新开的线程都运行完毕后再执行
自己用一个字段记录来进行40个线程完成后的标志,不用试图通过顺序编程就以为实际运行也是这样,线程编程的特点是:你无法控制线程的先后运行次序。
mooncui
2006-04-24 13:24
Thread 有个join方法,不知道是否合适?
join() Waits for this thread to die.
leoyu
2007-05-24 18:18
banq说的设置个标志,是一种方案
然后你可以为你的这个方法封装成一个线程,让这个对象wait().然后再notify() 唤醒并执行你的方法
java0000000
2007-06-10 16:47
import java.lang.*;
class VerifyQueryThread implements Runnable
{
int i=40;
public void run()
{
while(i>0)
{
System.out.println(i--);
}
}
public static void startMutiThread()
{
VerifyQueryThread target = new VerifyQueryThread();
for(int j = 0; j < 40;j++)
{
new Thread(target).start();
}
System.out.println("Test");
//writeLog();
}
public static void main(String [] args)
{
VerifyQueryThread tt=new VerifyQueryThread();
tt.startMutiThread();
}
}
java0000000
2007-06-19 10:58
用Runnable 接口实现,,,自已设置一个数当进程启动到指定的数是置否就OK了
Jhonney
2007-06-21 14:28
楼上的好像错了吧
dongliheng
2007-06-24 18:54
应该设一个锁定的静态变量自增的方法不知道你能否试一下
当变量到40后设定一个flag标志退出
这方法在线程执行的最后执行
kekele647
2007-07-04 12:54
Thread不是有自己判断线程是否处于活动状态的方法吗 ?
多线程设计