C++實現多線程的方式有以下幾種:
使用C++11標準中的std::thread類:通過創建std::thread對象來創建新的線程,并指定要執行的函數或函數對象。
使用C++11標準中的std::async函數:std::async函數將函數調用封裝為一個可異步執行的任務,并返回一個std::future對象,通過該對象可以獲取函數的返回值。
使用C++11標準中的std::async函數和std::launch::async標志:使用std::launch::async標志可以強制std::async函數在調用時立即執行,而不是在std::future對象調用get()函數時執行。
使用POSIX線程庫:通過調用pthread_create函數創建新的線程,并指定要執行的函數。該方法是C++標準之前使用的一種方式。
使用Windows線程庫:通過調用CreateThread函數創建新的線程,并指定要執行的函數。該方法是在Windows平臺上實現多線程的一種方式。
除了上述方法,還有其他一些第三方庫和框架可以用于實現多線程,如Boost.Thread、OpenMP等。