====== C - C++ Threads - Create a thread - Create a thread with a lambda ======
#include
#include
int main()
{
std::thread t1([] {
std::cout << "Hello World" << std::endl;
});
t1.join();
return 0;
}
----
===== Using a lambda closure =====
A lambda closure is nothing but a variable storing a lambda expression.
You can store a lambda in a closure if you intend to reuse the lambda expression at more than one place in your code.
#include
#include
int main()
{
// Define a lambda closure.
auto HelloWorldFunc = []() -> void { std::cout << "Hello World" << std::endl; };
std::thread t1(HelloWorldFunc);
t1.join();
return 0;
}
----
===== With Arguments =====
auto HelloWorldFunc = [](std::string name, int age) -> void { std::cout << "Hello " << name << ". You are " << age << " years old." << std::endl; };
std::thread t1(HelloWorldFunc, "Peter", 21);
t1.join();