「java让线程等待」java线程等待时间长

博主:adminadmin 2022-12-13 00:06:07 67

今天给各位分享java让线程等待的知识,其中也会对java线程等待时间长进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java多线程相互等待

1、存在处以业务逻辑类,存在map,初始化。

2、存在线程池 最大200,ThreadFactory可以默认

3、单线程处理ip的类,构造方法包含是需参数Map,

4、外部循环 调用线程池,生成线程 传参 map 和当前循环次数

5、线程处理完ip后,将外部传来的循环次数做key,结果做value插入map,唤醒主线程判断map中的数量是否==需处理的ip的数量,选择跳出或继续等待。

Java如何等待子线程执行结束

先调用

shutdown

在调用

isTerminated

例:

/*

* 采用线程池开启多个子线程,主线程等待所有的子线程执行完毕

*/

public static void moreThread() {

try {

int threadNum = 0;

for (int i = 0; i 10; i++) {

threadNum++;

final int currentThreadNum = threadNum;

exe.execute(new Runnable() {

@Override

public void run() {

try {

System.out.println("子线程[" + currentThreadNum + "]开启");

Thread.sleep(1000*10);

} catch (InterruptedException e) {

e.printStackTrace();

}finally{

System.out.println("子线程[" + currentThreadNum + "]结束");

}

}

});

}

System.out.println("已经开启所有的子线程");

exe.shutdown();

System.out.println("shutdown():启动一次顺序关闭,执行以前提交的任务,但不接受新任务。");

while(true){

if(exe.isTerminated()){

System.out.println("所有的子线程都结束了!");

break;

}

Thread.sleep(1000);

}

} catch (InterruptedException e) {

e.printStackTrace();

}finally{

System.out.println("主线程结束");

}

}

在java中同时起多个线程,然后怎么让多个线程进入等待状态?

class MyThread extends Thread {

static Object lock = new Object();

public void run() {

// TODO Auto-generated method stub

}

public void toWait() {

synchronized(lock){

try {

lock.wait();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public static void toNotifyAll(){

synchronized(lock){

lock.notifyAll();

}

}

}

//让线程对象在run方法中调用toWait使其等待,调用静态方法toNotifyAll唤醒所有线程

java callable 怎么让主线程等待

在你的

主线程

中用一个JOIN的方法,你要等待谁,就用谁调用,比如,你要等待线程A结束,就用A.JOIN();这样就可以了。记住哦,这条语句写在哪个线程里,哪个线程就要等待调用这个方法的其他线程。就是说,你在主线程里写了这条语句,那么主线程就要等待线程A执行完后,主线程才会执行

关于java让线程等待和java线程等待时间长的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-13,除非注明,否则均为首码项目网原创文章,转载请注明出处。