java - 如何在 Java 中重用一个线程?

标签 java multithreading performance threadpool sudoku

我正在构建一个控制台数独求解器,主要目标是原始速度。

我现在有一个 ManagerThread,它启动 WorkerThreads 来计算每个单元格的邻居。因此,现在为每个单元启动一个 WorkerThread。如何重新使用已完成其工作的现有线程?

线程池模式似乎是解决方案,但我不明白如何防止线程在其工作完成后死亡。

ps :我不希望为这个特定任务获得太多性能,只是想在将多线程应用到代码的更复杂部分之前试验它是如何工作的。

谢谢

最佳答案

查看提供的 Java SE java.util.concurrent应用程序接口(interface)。您可以使用 Executors#newFixedThreadPool() 创建线程池您可以使用 ExecutorService 提交任务方法。无需重新发明您自己的线程池。另见 Sun tutorial on the subject .

关于java - 如何在 Java 中重用一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985060/

相关文章:

java - 将信息从 Java 发送到数据库的安全方法?

java - 访问子类中的私有(private)实例

php - 什么更快?在循环中触发查询或遍历数组?

java - 对列表中的对象进行分组 java 8

java - 线程 "main"向容器添加窗口时出现异常

java - 如何在 RABBITMQ 中为消费者端设置时间

c++ - boost asio async_tcp_echo_server 示例

multithreading - 是否可以使用特定的错误代码在线程退出时中断?

performance - 使用 OpenGL 加速 2D 图形

mysql - 同时为多个客户提供独特的结果