有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

cachedThreadPool Java中的多线程手动终止线程

我知道,当我使用cachedThreadPool时,如果线程空闲超过60秒,就会自动终止。但是我怎样才能在cachedThreadPool中手动杀死这样的线程呢

编辑以解释我最初的问题

我的问题是:

我有一个程序,用户可以启动几个进程。所有这些过程都应该并行执行。到目前为止还不错,但有时某些传入进程应该按顺序处理。当两个进程具有相同的属性(相同的路径)时,就会发生这种情况

所以我想创建一个cachedThreadPool,如果没有一个线程与新的传入进程具有相同的路径,那么应该始终创建一个新线程。(不幸的是,我不知道该怎么做,也不知道有什么方法可用)

现在是我的想法。我一直想给新创建的cachedThreadPool线程一个worker,它有一个队列(最初这个队列包含应该处理的已传递进程)。然后,一旦处理完这个进程,线程就应该等待60秒。如果在这60秒内没有提交其队列中的其他进程,则可以终止它,否则它应该始终处理该队列。但通过始终检查队列中是否有新进程,线程不会进入空闲状态,也不会自动终止。所以我想我可以手动杀死它


共 (0) 个答案