在 Java 程序中使用执行器比使用线程有什么好处。
比如
ExecutorService pool = Executors.newFixedThreadPool(2);
void someMethod() {
//Thread
new Thread(new SomeRunnable()).start();
//vs
//Executor
pool.execute(new SomeRunnable());
}
执行器是否只限制允许同时运行的线程数(线程池)?它实际上是否将可运行对象多路复用到它创建的线程上?如果不是,它是否只是一种避免每次都必须编写 new Thread(runnable).start() 的方法?
最佳答案
是的,执行者通常会将可运行对象多路复用到他们创建的线程上;他们将限制和管理同时运行的线程数;它们将使自定义并发级别变得更加容易。一般来说,执行者应该比只创建裸线程更受欢迎。
关于java - Executors 相对于 new Thread 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18496948/