我有一个初学者问题:
我有 3 个类扩展 Thread。他们在做同样的工作:打开一个 ServerSocket,然后在一个 while 循环中等待连接。这些类之间的唯一区别是,当它们有连接时,它们会启动一个特定的线程。我想简化这一点,让一个班级做这项工作,atm 3 个班级正在做。在该示例中,唯一的区别是对 SocketThread1、SocketThread2 和 SocketThread3 的调用。
我怎么能做 1 节课而不是 3 节课?
例子:
\\class 1
public void run()
{
while(true)
{
Socket s = serversocket.accept();
new SocketThread1(s).start();
}}
\\class 2
public void run()
{
while(true)
{
Socket s = serversocket.accept();
new SocketThread2(s).start();
}
}
\\class 3
public void run()
{
while(true)
{
Socket s = serversocket.accept();
new SocketThread3(s).start();
}