#include <iostream>
#include <thread>
using namespace std;
void f() {
cout<<"hello"<<endl;
}
int main() {
thread t1(f);
// thread t3 {t1}; // <=== <would cause error: use of deleted function 'std::thread::thread(std::thread&)'
thread t2 {std::move(t1)};
t2.join(); // t2 is the running the thread now - t1 only an empty shell
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dGhyZWFkPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBmKCkgewoJY291dDw8ImhlbGxvIjw8ZW5kbDsgCn0KCmludCBtYWluKCkgewoJdGhyZWFkIHQxKGYpOyAKCS8vIHRocmVhZCB0MyB7dDF9OyAvLyA8PT09IDx3b3VsZCBjYXVzZSBlcnJvcjogdXNlIG9mIGRlbGV0ZWQgZnVuY3Rpb24gJ3N0ZDo6dGhyZWFkOjp0aHJlYWQoc3RkOjp0aHJlYWQmKScKCXRocmVhZCB0MiB7c3RkOjptb3ZlKHQxKX07IAoJdDIuam9pbigpOyAgLy8gdDIgaXMgdGhlIHJ1bm5pbmcgdGhlIHRocmVhZCBub3cgLSB0MSBvbmx5IGFuIGVtcHR5IHNoZWxsIAoJcmV0dXJuIDA7Cn0=