Если ваша «ошибка отладки» означает сообщение об ошибке компилятора, вы должны проверить, установлен ли флаг -pthread
.То есть скомпилируйте код с
$ g++ -std=c++11 main.cpp -pthread -o main
Если ваша «ошибка отладки» означает ошибку времени выполнения, вы должны запомнить join()
после создания потока.
исходный код:
#include <iostream>
#include <thread>
void print()
{
std::cout << "PRINT" << std::endl;;
std::cout << "PRINT 2" << std::endl;;
}
void create_thread()
{
std::thread print_thread(print);
print_thread.join(); // remember to join()
}
int main()
{
create_thread();
return 0;
}
Кроме того, вы можете обратить внимание на 4 дополнительных пункта:
using namespace std
не рекомендуется.
не забудьте join()
после создания потока
return 0
для main ()
printf()
находится в stdio.h.используйте std::cout
для iostream