日期:2014-05-20  浏览次数:20656 次

线程嵌套的问题
问题描述:
public   class   MainWindow   extends   JFrame   implements   Runnable{...}
MainWindow   是主窗口,本身是Runnable的。它上面添加了个Panel----titlePane   ,也是Runnable的。
public   class   titlePane   extends   JPanel   implements   Runnable{...}
请问这样会不会有问题?
如果有,要怎样才是安全的?
多谢!

------解决方案--------------------
is a | has a ?
lz需要看看为啥这样子设计,可不可以修改成不implements Runnable,而是有一个Thread实例
------解决方案--------------------
首先,用implements Runnable而不用extends Thread,其实就是has a的思想了,恭喜楼主已经更进一步。
其次,MainWindow和titlePane是两个线程,这样有什么问题呢,它们好象也不叫什么线程嵌套吧。
你可以把MainWindow做成主线程,把titlePane设成daemon的,这样MainWindow关掉titlePane也就关掉了。或者MainWindow和titlePane共享一个Thread实例,它们也就同生共死了。