#include <iostream>
#include <thread>
void foo(int a)
{
std::cout << a << '\n';
}
int main()
{
// Create and execute the thread
std::thread thread{ foo, 1 }; // Pass 10 to free function
// The free function will be executed in a separate thread
// Wait for the thread to finish, this is a blocking operation
thread.join();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dGhyZWFkPgogCnZvaWQgZm9vKGludCBhKQp7CiAgICBzdGQ6OmNvdXQgPDwgYSA8PCAnXG4nOwp9CiAKaW50IG1haW4oKQp7CiAgICAvLyBDcmVhdGUgYW5kIGV4ZWN1dGUgdGhlIHRocmVhZAogICAgc3RkOjp0aHJlYWQgdGhyZWFkeyBmb28sIDEgfTsgLy8gUGFzcyAxMCB0byBmcmVlIGZ1bmN0aW9uCiAKICAgIC8vIFRoZSBmcmVlIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgaW4gYSBzZXBhcmF0ZSB0aHJlYWQKIAogICAgLy8gV2FpdCBmb3IgdGhlIHRocmVhZCB0byBmaW5pc2gsIHRoaXMgaXMgYSBibG9ja2luZyBvcGVyYXRpb24KICAgIHRocmVhZC5qb2luKCk7CiAKICAgIHJldHVybiAwOwp9