C++ 多线程编程入门指南
引言
在计算机科学中,多线程编程是一种提高程序性能和响应速度的有效方法。C++ 作为一种强大的编程语言,提供了丰富的多线程编程工具。本文将详细介绍 C++ 多线程编程的基础知识,包括线程的创建、同步、通信以及多线程编程的最佳实践。
线程的创建
在 C++ 中,可以使用std::thread类来创建线程。以下是一个简单的示例:
#include <iostream> #include <thread> void print_numbers() { for (int i = 0; i < 10; ++i) { std::cout << "Number: " << i << std::endl; std::this_thread::sleep_for(std::chrono::milliseconds(100)); } } int main() { std::thread t1(print_numbers); std::thread t2(print_numbers); t1.join(); t2.join(); return 0; }在上面的代码中,我们创建了两个线程t1和t2,它们分别执行print_numbers函数。
线程同步
在多线程环境中,线程之间的同步是至关重要的。C++ 提供了多种同步机制,如互斥锁(mutex)、条件变量(condition variable)和原子操作(atomic operations)。
以下是一个使用互斥锁的示例:
#include <iostream> #include <thread>