是的,C++并發(fā)編程可以用于多線程
C++11引入了線程庫(<thread>
),它提供了一組用于創(chuàng)建和管理線程的函數(shù)。此外,C++11還提供了原子操作(<atomic>
)和鎖(<mutex>
、<condition_variable>
等)等同步原語,以幫助您在多線程環(huán)境中安全地共享數(shù)據(jù)。
以下是一個簡單的C++多線程示例:
#include <iostream>
#include <thread>
void print_hello() {
std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}
int main() {
std::thread t1(print_hello);
std::thread t2(print_hello);
t1.join();
t2.join();
return 0;
}
在這個示例中,我們創(chuàng)建了兩個線程,它們都執(zhí)行print_hello
函數(shù)。std::this_thread::get_id()
函數(shù)用于獲取當(dāng)前線程的ID。最后,我們使用join()
函數(shù)等待兩個線程完成。