Сообщение Re[2]: Swap 2 buffers от 09.08.2019 4:21
Изменено 09.08.2019 5:42 Ssd13
Re[2]: Swap 2 buffers
N>>
W>По сути тут вызывается m_promise.set_value в цикле много-много раз. Конечно, это работать не будет: в promise можно положить значение только раз.
Как раз эта часть должна работать. Там каждый раз в tasks кладут новый promise. Немного нестандартный подход, но, похоже, это единственная часть, которая написана правильно, потому что на это promise делается синхронизация. И то, что положили в данные в одном потоке, смогут прочитать на другом.
N>> tasks.front().m_promise.set_value(true);
N>>
W>По сути тут вызывается m_promise.set_value в цикле много-много раз. Конечно, это работать не будет: в promise можно положить значение только раз.
Как раз эта часть должна работать. Там каждый раз в tasks кладут новый promise. Немного нестандартный подход, но, похоже, это единственная часть, которая написана правильно, потому что на это promise делается синхронизация. И то, что положили в данные в одном потоке, смогут прочитать на другом.
Re[2]: Swap 2 buffers
N>>
W>По сути тут вызывается m_promise.set_value в цикле много-много раз. Конечно, это работать не будет: в promise можно положить значение только раз.
Как раз эта часть должна работать. Там каждый раз в tasks кладут новый promise. Немного нестандартный подход, но, похоже, это единственная часть, которая написана правильно, потому что на этом promise делается синхронизация. И то, что положили в данные в одном потоке, смогут прочитать на другом.
N>> tasks.front().m_promise.set_value(true);
N>>
W>По сути тут вызывается m_promise.set_value в цикле много-много раз. Конечно, это работать не будет: в promise можно положить значение только раз.
Как раз эта часть должна работать. Там каждый раз в tasks кладут новый promise. Немного нестандартный подход, но, похоже, это единственная часть, которая написана правильно, потому что на этом promise делается синхронизация. И то, что положили в данные в одном потоке, смогут прочитать на другом.