Hello World of concurrency (using std::thread)
Now, let's get started with our first program using the std::thread library. You are expected to have C++ 11 or later to compile the programs we are going to discuss in this chapter. Let's take a simple, classic Hello World example as a reference before going into a multi-threaded Hello World:
//---- Thanks to Dennis Ritchie and Brian Kernighan, this is a norm for all languages
#include <iostream>
int main()
{
std::cout << "Hello World\n";
} This program simply writes Hello World into the standard output stream (mainly the console). Now, let's see another example that does the same stuff, but using a background thread (often called a worker thread instead):
#include <iostream>
#include <thread>
#include <string>
//---- The following function will be invoked by the thread library
void thread_proc(std::string msg)
{
std::cout << "ThreadProc msg:" << msg;
}
int main()
{
// creates...