У меня есть класс класса с основным потоком
public class MainThread extends Thread
{
private final Socket s;
public MainThread(final Socket s)
{
this.s = s;
}
public void start()
{ // some logic
}
}
и класс с пулом потоков
public final class MainListener extends Thread
{
private Socket ss;
public MainListener(final int socket)
{
this.socket = socket;
this.pool = new ThreadPoolExecutor(
2,
4,
1000L,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
}
public void start()
{
final ServerSocket ss = new ServerSocket(socket);
while(true)
{
final Socket s = ss.accept();
pool.execute(new MainThread(s));
}
}
MainThread создан, но не запущен.Это «ожидание».
В чем проблема?Как запустить этот поток после создания?
, если я создаю конструктор MainThread, как
public MainThread(final Socket s)
{
this.s = s;
start();
}
, тогда все работает нормально.Но это неправильно