我会描述我的问题:
我正在开发一个用于文档生成(办公文档)的异步模式应用程序,因此我使用线程
由于性能限制,我必须同时启动仅2个线程,
为了不阻止用户在两个线程运行时启动文档生成,我想开发一个包含ArrayDeque对象作为线程堆栈的主线程,在其中用户可以添加创建请求(作为实现Collable或Runnable接口的对象),并使用Concurrent API以FIFO模式启动线程
问题是:
如何确保主线程对所有用户都是单例?
如何在主运行线程上调用ArrayDeque?
我会描述我的问题:
我正在开发一个用于文档生成(办公文档)的异步模式应用程序,因此我使用线程
由于性能限制,我必须同时启动仅2个线程,
为了不阻止用户在两个线程运行时启动文档生成,我想开发一个包含ArrayDeque对象作为线程堆栈的主线程,在其中用户可以添加创建请求(作为实现Collable或Runnable接口的对象),并使用Concurrent API以FIFO模式启动线程
问题是:
如何确保主线程对所有用户都是单例?
如何在主运行线程上调用ArrayDeque?
ExecutorService
的情况:class Task implements Runnable {
...
}
ExecutorService exec = Executors.newFixedThreadPool(2);
exec.submit(new Task()); // submit task to the queue for asynchronous processing
ExecutorService
将封装一组线程池和工作队列。线程将自动在完成前一个任务后接收新的工作。