线程嵌套的问题
问题描述:
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实例,它们也就同生共死了。