21.
What is the purpose of the 'std::future' class in C++ multi-threading?

22.
What is the difference between std::async and std::thread in C++ multi-threading?

23.
What is the purpose of the 'std::promise' class in C++ multi-threading?

24.
What is the difference between std::condition_variable and std::condition_variable_any in C++ multi-threading?

25.
What is the purpose of the 'std::thread::hardware_concurrency()' function in C++ multi-threading?

26.
What is the purpose of the 'std::recursive_mutex' class in C++ multi-threading?

27.
What is the purpose of the 'std::atomic_flag' class in C++ multi-threading?

28.
What is the purpose of the 'std::latch' class in C++ multi-threading?

29.
What is the purpose of the 'std::barrier' class in C++ multi-threading?

30.
What is the purpose of the 'std::semaphore' class in C++ multi-threading?