class Test{ public static final Executor exec = Executor.newCachedThreadPool(); }这样使用线程池有没有问题?exec会不会被shutdown?
class Test{ public static final Executor exec = Executor.newCachedThreadPool(); }这样使用线程池有没有问题?exec会不会被shutdown?class Test{ public static final Executor exec = Executor.newCachedThreadPool(); }这样使用线程池有没有问题?exec会不会被shutdown? 你不手动shutdown自然不会有问题,这就相当于从jvm启动后就维护了一个线程池,这个线程池不会被关闭,可以被多个线程重复利用,如果在代码里shutdown那么其他的线程任务就会被拒绝。
class Test{ public static final Executor exec = Executor.newCachedThreadPool(); }这样使用线程池有没有问题?exec会不会被shutdown?class Test{ public static final Executor exec = Executor.newCachedThreadPool(); }这样使用线程池有没有问题?exec会不会被shutdown? 你不手动shutdown自然不会有问题,这就相当于从jvm启动后就维护了一个线程池,这个线程池不会被关闭,可以被多个线程重复利用,如果在代码里shutdown那么其他的线程任务就会被拒绝。请问线程池是线程安全的吗? 应该怎样正确的使用线程池,可不可以举个例子
比如支援前端访问的任务,我们一般希望要数量要大,但单个任务占用的计算资源并不高;而部分后台统计任务,需要的数量不高,但由于是密集计算,所以线程数要少,避免过分占用服务器CPU。
但是我不能理解的是,为什么在局部分配资源后,直接把线程池shutdown了,下次再有任务的话,
还是要重新创建线程池,这样做的考虑是什么?谢谢
除非这个代码仅仅是个示例,这样怎么写都没啥毛病所以你是支持,线程池作为静态变量的?
我仅仅是表示在方法里创建线程池毫无意义,但变量也分为静态变量,成员变量,局部变量,前两者都没有问题的,但局部变量这种仅仅是写demo才有意义
除非这个代码仅仅是个示例,这样怎么写都没啥毛病所以你是支持,线程池作为静态变量的?
我仅仅是表示在方法里创建线程池毫无意义,但变量也分为静态变量,成员变量,局部变量,前两者都没有问题的,但局部变量这种仅仅是写demo才有意义
嗯,我的理解是,把线程池作为静态变量,才能显示出“池”的优势,
如果作为成员变量,GC后,不就回收了么,这样的意思好像不太大,请教您的看法。
除非这个代码仅仅是个示例,这样怎么写都没啥毛病所以你是支持,线程池作为静态变量的?
我仅仅是表示在方法里创建线程池毫无意义,但变量也分为静态变量,成员变量,局部变量,前两者都没有问题的,但局部变量这种仅仅是写demo才有意义
嗯,我的理解是,把线程池作为静态变量,才能显示出“池”的优势,
如果作为成员变量,GC后,不就回收了么,这样的意思好像不太大,请教您的看法。
成员变量他所属的对象也能是静态变量的
class Test{
public static final Executor exec = Executor.newCachedThreadPool();
}这样使用线程池有没有问题?exec会不会被shutdown?
class Test{
public static final Executor exec = Executor.newCachedThreadPool();
}这样使用线程池有没有问题?exec会不会被shutdown?class Test{
public static final Executor exec = Executor.newCachedThreadPool();
}这样使用线程池有没有问题?exec会不会被shutdown?
你不手动shutdown自然不会有问题,这就相当于从jvm启动后就维护了一个线程池,这个线程池不会被关闭,可以被多个线程重复利用,如果在代码里shutdown那么其他的线程任务就会被拒绝。
class Test{
public static final Executor exec = Executor.newCachedThreadPool();
}这样使用线程池有没有问题?exec会不会被shutdown?class Test{
public static final Executor exec = Executor.newCachedThreadPool();
}这样使用线程池有没有问题?exec会不会被shutdown?
你不手动shutdown自然不会有问题,这就相当于从jvm启动后就维护了一个线程池,这个线程池不会被关闭,可以被多个线程重复利用,如果在代码里shutdown那么其他的线程任务就会被拒绝。请问线程池是线程安全的吗? 应该怎样正确的使用线程池,可不可以举个例子