У меня есть приложение, которое выполняет два потока параллельно, каждый из которых выполняет какое-то действие, которое в конце приводит к получению целого числа. В моем основном потоке я хотел бы выполнить некоторую операцию над int, создаваемую каждым Thread A и Thread B (назовите их int a и int b соответственно), а затем выведите их в том порядке, в котором каждый поток выплевывает их. Поэтому, по сути, я выполняю каждый поток через регулярные интервалы (скажем, каждые 2 секунды), и каждый из потоков выплескивает целое число, которое я манипулирую и распечатываю в порядке их разбиения.Очередь для сбора выходов из потоков
Для этого, как я могу объединить данные для каждого потока, который должен быть напечатан потоком gui? Могу ли я использовать очередь для каждого потока, который наблюдается в основном потоке, и когда он обновляется, главный gui манипулирует и выводит их? Как я могу написать такую очередь?
Код для моей нити следующим образом:
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
new Thread(new t1()).start(//TODO: pass in some parameter that this
//thread will write to);
new Thread(new t2()).start();
}
}, 0, period);
Очередь, ожидание() и уведомление(). Это ваши ключевые слова. У меня нет времени разрабатывать, извините. – RaphMclee