ThreadPoolExecutor и Socket.Поток не запущен

У меня есть класс класса с основным потоком

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();
   }

то все нормально работает. Но это неправильно

0
задан Ilya 26 March 2012 в 12:35
поделиться