java - 如何在Java中正确创建和实现ThreadPool类型的类

标签 java multithreading threadpool

我想用 Java 创建自己的 ThreadPool 类型类(我过去尝试过,但不断收到并发异常 - 我忘记了具体的错误),我又回到了它。

这将用于动态地轻松创建不同的线程来同时运行不同的进程,然后当任务在其传递到的线程中完成时,它将被回收并重新用于其他目的。这是我自己编写的 Java 2d 游戏引擎。

这将用于碰撞、音频、动画管理、计时、控制等。这些只是我需要 ThreadPool 类的选项。

问题:上次尝试此操作时,我创建了一个 ThreadPool 类,该类包含一个“AudioThread”类型(或类似类型)的数组,该数组是一个重写“run”方法的内部类。创建 ThreadPool 类时,我将传递许多要创建的线程,并将其存储在数组中以供以后操作。

然后我会尝试创建诸如“assignTask(ThreadTask task)”、“freeThread()”、getFreeThread() 之类的方法。等等。但是通过对线程进行更改,我遇到了某种并发错误。

底线,是否有人有制作 ThreadPool 类型类的经验,可以为我能做什么和不能做什么提供经验?有解决此问题的建议吗?建议?想法?

谢谢。

最佳答案

您可能想使用 ThreadPoolExecutor 。听起来它完全符合您的要求。

关于java - 如何在Java中正确创建和实现ThreadPool类型的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641652/

相关文章:

java - 如何在 RejectedExecutionHandler 中获取任务的字段?

c++ - 线程池(大概)锁定条件变量和互斥量的问题

Java并发对象池?

java - 如何在 Java 中将父对象转换为子对象

java - java中从数组中删除元素

java - 无法尝试实现从查询中获取随机结果到 Firestore

JavaFx 和套接字监听器

java - 如何使用 Jackson 来反序列化这样的数组?

python - CELERYD_CONCURRENCY, --并发和自动缩放

python - 很长的I/O进程能否由线程处理