我想在Java中创建自己的ThreadPool类型类(我过去曾尝试过并不断出现并发异常-我忘记了特定的错误),然后我又回到了它。

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

这将用于诸如碰撞,音频,动画管理,定时,控件等之类的东西。由于我需要ThreadPool类,这些仅是选项。

问题:上次尝试此操作时,我创建了一个ThreadPool类,该类持有一个类型为“ AudioThread”(或类似名称)的Array,该类型是覆盖“ run”方法的内部类。创建ThreadPool类时,我将传递多个要创建的线程,这些线程将存储在数组中以供以后处理。

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

归根结底,有没有人有做过ThreadPool类型类的经验,可以提供我能做和不能做的事情?解决此问题的建议?忠告?有什么想法吗?

谢谢。

最佳答案

您可能要使用ThreadPoolExecutor。听起来它确实可以满足您的要求。

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

10-17 01:30