gpt4 book ai didi

java主线程管理启动其他线程

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:58 26 4
gpt4 key购买 nike

我会描述我的问题:

  • 我正在开发以异步模式生成文档(Office 文档)的应用程序,所以我使用线程

  • 由于性能限制,我只能同时启动 2 个线程,

  • 为了不阻止用户在两个线程运行时启动文档生成,我想开发一个包含 ArrayDeque 对象的主线程作为线程堆栈,用户可以在其中添加创建请求(作为实现 Collable 或 Runnable 接口(interface)的对象) 并使用并发 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 将封装一个线程池和一个工作队列。 Thread 将在完成之前的任务后自动接手新工作。

关于java主线程管理启动其他线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com