This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
courses:high_performance_computing:producer_consumer [2020/02/11 18:17] odoronin |
courses:high_performance_computing:producer_consumer [2020/05/03 12:25] (current) kel |
||
---|---|---|---|
Line 6: | Line 6: | ||
- interruptor | - interruptor | ||
- N потоков consumer | - N потоков consumer | ||
- | На стандартный ввод программе подается строка - список чисел, разделённых пробелом. Длина списка чисел не задаётся - считывание происходит до перевода каретки. | + | На стандартный ввод программе подается строка - список чисел, разделённых пробелом (читать можно до конца ввода). Длина списка чисел не задаётся - считывание происходит до перевода каретки. |
* Задача producer-потока - получить на вход список чисел, и по очереди использовать каждое значение из этого списка для обновления переменной разделяемой между потоками | * Задача producer-потока - получить на вход список чисел, и по очереди использовать каждое значение из этого списка для обновления переменной разделяемой между потоками | ||
* Задача consumer-потоков отреагировать на уведомление от producer и набирать сумму полученных значений. Также этот поток должен защититься от попыток потока-interruptor его остановить. Дополнительные условия: | * Задача consumer-потоков отреагировать на уведомление от producer и набирать сумму полученных значений. Также этот поток должен защититься от попыток потока-interruptor его остановить. Дополнительные условия: |