例如,我有 8 个线程的线程池,我希望池中的线程 1 运行 4 个类似的任务,池中的线程 2 运行其他 4 个任务,依此类推
答案 0 :(得分:2)
java中是否可以选择特定的线程在线程池中运行类似的任务?
没有。至少,不使用任何标准的 Java SE ExecutorService
实现。
当然,您可以从头开始实现您自己的线程池,以您选择的任何方式将计划任务到池中的线程。只是编写、调试和维护很多复杂的代码。
你想要这个的原因在我看来是人为的。 (好像是 XY problem。)
<块引用>.... 因为我想根据线程名称执行不同的操作。
还有其他方法可以实现该目标:
ThreadLocal
来存储名义名称,并在任务开始时对其进行设置。Thread.setName()
1。请注意,通过将特定任务调度到单个命名线程,您将为这些任务创建并发瓶颈。
1 - IMO,这个特定的选项很糟糕......