美文网首页
使用ExecutorService,提交任务卡死?

使用ExecutorService,提交任务卡死?

作者: Freedom_2725 | 来源:发表于2019-08-20 19:37 被阅读0次

    问题描述

    最近在使用ExecutorService线程池提交任务,发现任务一直不执行,设置了超时时间,也会抛出超时异常。使用jstack查看线程是否死锁,并没有发现死锁存在。线程池定义代码如下:

     private final ExecutorService executorService = Executors.newFixedThreadPool(3, new ThreadFactory() {
            @Override
            public Thread newThread(Runnable r) {
                return new Thread("xxx-thread");
            }
        });
    

    问题解决

    其实问题很简单,创建线程没有指定Runnable,导致线程一直没有可执行的任务,创建线程改成new Threah(r,"xxx-thread")就可以了。这是因为线程池中线程没有指定Runnable对象,导致一直没有任务执行。

    相关文章

      网友评论

          本文标题:使用ExecutorService,提交任务卡死?

          本文链接:https://www.haomeiwen.com/subject/ngdmsctx.html