Java run()方法作为我的非阻塞算法的一部分,是吗?只是想确保我完全理解!是的,就遗嘱执行人而言。我一直使用并发集合在线程之间进行通信,但您不必担心执行器服务的问题。没有理由在run()方法中引用Runnable阻塞队列。有关设置拒绝处理程序的信息,请参阅我的
Java run()方法作为我的非阻塞算法的一部分,是吗?只是想确保我完全理解!是的,就遗嘱执行人而言。我一直使用并发集合在线程之间进行通信,但您不必担心执行器服务的问题。没有理由在run()方法中引用Runnable阻塞队列。有关设置拒绝处理程序的信息,请参阅我的,java,concurrency,Java,Concurrency,run()方法作为我的非阻塞算法的一部分,是吗?只是想确保我完全理解!是的,就遗嘱执行人而言。我一直使用并发集合在线程之间进行通信,但您不必担心执行器服务的问题。没有理由在run()方法中引用Runnable阻塞队列。有关设置拒绝处理程序的信息,请参阅我的示例。这引用了队列,但又不是在run()方法中:谢谢@Gray(+1)-所以总结一下,我将始终使用ThreadPoolExecutor或ScheduledPoolExecutor,并且我将使用并发集合的唯一时间是在使用它创建这两种类型之一的新实
run()
方法作为我的非阻塞算法的一部分,是吗?只是想确保我完全理解!是的,就遗嘱执行人而言。我一直使用并发集合在线程之间进行通信,但您不必担心执行器服务的问题。没有理由在run()
方法中引用Runnable
阻塞队列。有关设置拒绝处理程序的信息,请参阅我的示例。这引用了队列,但又不是在run()
方法中:谢谢@Gray(+1)-所以总结一下,我将始终使用ThreadPoolExecutor
或ScheduledPoolExecutor
,并且我将使用并发集合的唯一时间是在使用它创建这两种类型之一的新实例时?没有理由在我的run()
方法中出现BlockingQueue
作为我的非阻塞算法的一部分,是吗?只是想确保我完全理解!是的,就遗嘱执行人而言。我一直使用并发集合在线程之间进行通信,但您不必担心执行器服务的问题。没有理由在run()
方法中引用Runnable
阻塞队列。有关设置拒绝处理程序的信息,请参阅我的示例。它引用队列,但不是在run()
方法中:
public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
}
ExecutorService threadPool =
new ThreadPoolExecutor(minThreads, maxThreads, 0L, TimeUnit.MILLISECONDS,
new SynchronousQueue<Runnable>());