У меня есть следующие настройки:
ManagerThread.create tasks(500) -> q1
q1 -> [thread 1-4] -> q2 -> [thread 5-8] -> q3 -> [thread 9-12]
- потоки стеков подпитывают друг друга
- Я хочу знать количество обработанных задач для каждого
[thread stack]
, чтобыУ меня может быть общий прогресс в работе, составляющий 500 задач. Моя идея до сих пор: разделить целое число между каждым [thread stack]
и потоком менеджера, поэтому, если задача потока 1 выполнена -> shared int++
Если [thread 1-4]
shared int = 500
, Менеджер Остановите этот поток стека.Поэтому мой вопрос не в том, как остановиться, а в том, как поделиться этим целым числом наилучшим (наиболее эффективным) способом.Спасибо за идеи.