2012-06-10 2 views
0

У меня есть программа, в которой я выбираю количество потоков, и она запускает ее, но я хотел бы иметь контроль над закрытием каждого потока по очереди после их запуска и видеть там вывод каждой нити.Несколько потоков. Выполнение подобных задач, но нужно видеть их вывод

Каков наилучший подход в этом случае?

+1

Я считаю, что ваш вопрос слишком широк. Возможно, если вы покажете нам какой-нибудь код, мы сможем найти несколько интересных предложений. –

+0

Вы хотите, чтобы пользовательский интерфейс (a) запускал некоторое количество потоков в задаче; (b) предоставить вам возможность индивидуально уведомлять потоки о завершении работы с использованием пользовательского интерфейса, (c) выбрать завершенный поток и просмотреть его вывод? Это много для одного вопроса. –

ответ

0

These методы позволяют получать результаты всех задач, которые были отправлены службе-исполнителю. И this выключает его.

0

Создайте Hashtable, которая будет содержать ваши потоки и будет иметь имя потока, используемое в качестве ключа в hashmap. Поэтому всякий раз, когда вы хотите выполнить операцию в своем потоке, вы можете получить ее ссылку из хэш-таблицы и делать с ней все, что хотите.

Hashtable<String, Thread> threadTable = new Hashtable<String, Thread>(); 

Thread t1 = new Thread() { 
    public void run() { 
     //Do sttuff 
    } 
} 

Thread t2 = new Thread() { 
    public void run() { 
     //Do sttuff 
    } 
} 

threadTable.put("T1", t1); 
threadTable.put("T2", t2); 

Конечно, это вышесказанное является простым примером. Если вы возьмете класс и сделаете его продолжением Thread, вы можете добавить методы для приостановки и возобновления потока, а также для распечатки его статуса.