Пробовал следующий пример, скомпилированный с помощью g ++ -std = gnu ++ 0x t1.cpp
и g ++ -std = c ++ 0x t1.cpp
, но оба из них приводят к прерыванию примера.
$ ./a.out
terminate called after throwing an instance of 'std::system_error'
what():
Aborted
Вот пример:
#include <thread>
#include <iostream>
void doSomeWork( void )
{
std::cout << "hello from thread..." << std::endl;
return;
}
int main( int argc, char *argv[] )
{
std::thread t( doSomeWork );
t.join();
return 0;
}
Я пробую это на Ubuntu 11.04:
$ g++ --version
g++ (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
Кто-нибудь знает, что я пропустил ?