我在stackoverflow上看到了一些帖子,并通读了oracle发布在销毁线程上的教程。据我所知,一旦你start()
一个线程,你不能使用stop()
删除该线程。不建议实际从调度程序中删除该线程,而是建议无限期地创建线程sleep()
。这个想法是对的吗?销毁Java中的线程
此外,这带我到我的下一个问题,这就是为什么人们使用thread pools?.
而不是“睡觉”一个线程,它是更多的资源,使用该线程来处理其他工作,而不是创建新的线程。请让我知道,如果我对multi-thread
管理的理解是正确的。 Java不允许以安全的方式完全删除thread
。
这很有道理。我有一个登录线程,当它完成我的另一个线程时,我想销毁它。据我所知,它不应该使用任何锁,所以我非常想把它告诉给.stop()。然而它是一个摆动线程,所以我可能不知道它在gui调度程序下的任何锁定。我怎么知道我简单的gui线程可能锁定什么? –