Итак, я наткнулся на что-то, что, кажется, побеждает цель std::thread
или, по крайней мере, делает ее менее удобной.
Скажем, я хочу порождать std::thread
для выполнения задачи один раз и не хочу беспокоиться об этом снова после этого.Я создаю thread
в конце функции, поэтому std::thread
скоро выйдет из области видимости, в моем случае, вероятно, пока thread
еще работает.Это создает проблему с парой решений (или, по крайней мере, из тех, что я знаю).
Я могу:
A) Сделать std::thread
глобальной переменной, чтобы она не работалавне области видимости.
B) Вызовите join()
на std::thread
, который побеждает цель порождения потока.
Существуют ли другие, надеюсь, лучшие способы справиться с такой ситуацией