为什么要在Java(或其他任何地方)不满意的构造函数中启动新线程。我正在从Netbeans收到警告,但这样做并没有给我任何重构建议。我正在编写一个客户端/服务器Swing应用程序,而我正在启动的线程在服务器的JFrame构造函数中,以便不断侦听客户端数据报。为什么这不是好习惯,我应该如何避免呢?
3 回答

宝慕林4294392
TA贡献2021条经验 获得超8个赞
从构造函数启动线程使启动的线程可以在正确构造对象之前访问其构造对象,从而使未完全构造的对象可用于新线程。
您可以在构造函数中创建线程,并提供“ startup”方法从外部启动线程。
或者,您可以将构造函数和启动方法设为私有,并提供一个静态工厂方法,该方法将创建对象,启动线程并返回创建的对象。
添加回答
举报
0/150
提交
取消