🔍 Что такое std::thread?



std::thread предоставляет собой интерфейс для взаимодействия с системными потоками



💡Что можно запустить?

• Любой функтор можно превратить в поток



💡Что можно передать при запуске потока?

• Можно передать любое количество параметров, но стоит учитывать, что все они будут копироваться

• Чтобы передать ссылку, её стоит обернуть в std::ref или std::cref



💡Что можно сделать с потоком?

• После создания потока мы можем с ним делать две вещи: вызвать join и ждать завершение потока или вызвать detach, тогда поток просто будет работать (пока сам не завершится)



💡Начиная с C++20 появился std::jthread

• Это тоже самое, но в деструкторе будет вызываться join