C++实现多线程的方式有以下几种:
1. 使用C++11标准中的std::thread类:通过创建std::thread对象来创建新的线程,并指定要执行的函数或函数对象。
2. 使用C++11标准中的std::async函数:std::async函数将函数调用封装为一个可异步执行的任务,并返回一个std::future对象,通过该对象可以获取函数的返回值。
3. 使用C++11标准中的std::async函数和std::launch::async标志:使用std::launch::async标志可以强制std::async函数在调用时立即执行,而不是在std::future对象调用get()函数时执行。
4. 使用POSIX线程库:通过调用pthread_create函数创建新的线程,并指定要执行的函数。该方法是C++标准之前使用的一种方式。
5. 使用Windows线程库:通过调用CreateThread函数创建新的线程,并指定要执行的函数。该方法是在Windows平台上实现多线程的一种方式。
除了上述方法,还有其他一些第三方库和框架可以用于实现多线程,如Boost.Thread、OpenMP等。