假设我有一个对象A,它包含一个对象B的实例。对象B创建一个使任务出列的线程。最终,该线程接收一个事件,该事件需要在处理事件后处理对象A(它实质上代表终端事件)。似乎没有任何安全的方法来处理我在后台线程上运行的A,因为A本质上拥有该线程。我是否必须在另一个线程上处理A或者是否有安全的方法来执行此操作?
答案 0 :(得分:1)
只要A没有明确地尝试杀死线程,就可以了。 " B"持有线程对象并不是什么让线程对象保持运行 - 线程本身就会这样做。 线程对象不会被释放,直到线程本身退出,并且释放对线程的所有其他显式引用。