创建线程并在类的构造函数中调用其start()方法是否正确(如此处所做的那样)?
public class Server implements Runnable {
private ServerSocket server;
public Server(int port) {
try {
//Opens a new server
server = new ServerSocket(port);
} catch (IOException ioe) {
ioe.printStackTrace();
}
new Thread(this, "Server").start();
}
@Override
public void run() {
}
}
最佳答案
恕我直言,不要这样做。您允许this
引用在构造过程中转义。
关于java - 在内部调用新线程是构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8855231/