Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不睡觉_Java_Executorservice_Threadpoolexecutor - Fatal编程技术网

Java 不睡觉

Java 不睡觉,java,executorservice,threadpoolexecutor,Java,Executorservice,Threadpoolexecutor,我已经创建了执行者服务 private ExecutorService webExecutorService; @Autowired public void setWebExecutorService() { this.webExecutorService = Executors.newFixedThreadPool(3); } 并执行了一个runnable,它有线程.sleep(15000),但在给定的时间内没有睡眠 可运行代码 try { int maximum

我已经创建了执行者服务

private ExecutorService webExecutorService;

@Autowired
public void setWebExecutorService() {
    this.webExecutorService = Executors.newFixedThreadPool(3);
}
并执行了一个runnable,它有
线程.sleep(15000)
,但在给定的时间内没有睡眠

可运行代码

try {
        int maximum = 999;
        int minimum = 100;
        int randomNumber;
        int port;
        randomNumber = minimum + (int)(Math.random() * ((maximum - minimum) + 1));
        port = randomNumber + 8000;
        while ( !portMap.isEmpty() && portMap.containsValue(String.valueOf(port))) {
            randomNumber = minimum + (int)(Math.random() * ((maximum - minimum) + 1));
            port = randomNumber + 8000;
        }
        Thread.sleep(15000);
    } catch (IOException | InterruptedException e) {
        e.printStackTrace();
    }
}

注意:当单线程运行正常时,如果我们同时启动三个线程,它就不会休眠。

发布可运行的代码。@akuzminykh添加了代码是否可以添加代码,将可运行的添加到服务中,或者调用它们?如何检查线程是否睡眠?由于某些原因,我无法添加该代码,我正在使用runnable和Keep线程创建一个睡眠服务,因为该服务必须启动(运行/活动)激活需要9-12秒的时间,因此我希望我的线程在服务启动和运行之前处于休眠状态。将使用回调方法进行检查,谢谢@akuzminykh