例如,如果我这样做:
public static void main(String[] args){
Thread myThread = new Thread(new MyServerRunnable());
myThread.start();
}
我最好这样做:
public static void main(String[] args){
MyServerClass server = new MyServerClass();
server.start();
}
start()
包含while循环而不是处理所有内容。
有关系吗?使用第一种方法,感觉就像我无缘无故地启动一个线程,因为主线程实际上只是启动另一个线程,我不妨使用主线程。
答案 0 :(得分:2)
如果你这样说,答案是肯定的。但是,将服务器实现为Runnable可能是有益的,因为稍后您可能会决定使用ThreadPool或其他更高级的技术,Runnable为此提供了更大的灵活性。
另外,除非你在main中调用Thread#join,否则主线程将在启动服务器后完成,所以你实际上不会浪费那么多。
答案 1 :(得分:0)
如果您拥有线程,那么使用main方法创建线程并不重要。线程确实共享文本段和复制变量。只有当主方法中的某些变量只能用于其中一个踏板时,才会获得冗余。