
Pepe
22.02.2018
08:14:44
Если есть вектор, и дано 8 тредов допустим. И мы делаем так что треды обрабатывают следующий свободный элемент, например 1й тред обрабатывает 1й, 2й -- 2й, а после освобождения, первый тред берет например 9й элемент, 2й -- 10й. Как такое правильно организуется? И лучше ли сделать если просто разбить вектор на 8 сегментов, и каждый обработать в каждом треде.

Berkus
22.02.2018
08:39:50
у меня тут задача выкинуть поко из проекта, и в одной слабоподдерживаемой либе завалялся этот нотификейшен кью, я просто портанул его с поко максимально прямолинейно

Berkus
22.02.2018
09:38:19
> Then there's a small base class for the two types of internal SPMC producer queues (one for explicit producers that holds onto memory but attempts to be faster, and one for implicit ones which attempt to recycle more memory back into the parent but is a little slower)
https://github.com/cameron314/concurrentqueue