21xrx.com
2025-03-23 21:25:16 Sunday
文章检索 我的文章 写文章
C++ 如何开启线程。
2023-06-23 14:21:28 深夜i     8     0
C++ 线程 开启

在 C++ 中,可以使用标准库中的` `头文件来开启线程。该头文件提供了 std::thread 类,该类提供了开启和管理线程的方法。

要使用 std::thread 类来开启线程,可以创建一个新的 std::thread 对象,并将一个可调用对象作为参数传递给它。可调用对象可以是函数指针、函数对象或者 Lambda 表达式。下面是一个示例代码:

#include <iostream>
#include <thread>
void foo()
world!" << std::endl;
int main()
{
  std::thread t(foo);
  t.join();
  return 0;
}

在上面的代码中,创建了一个名为 t 的 std::thread 对象,并将一个函数指针 foo 作为参数传递给它。然后,调用了 t 的 join 方法来让主线程等待子线程执行完成。

除了使用函数指针,还可以使用 Lambda 表达式来传递可调用对象:

#include <iostream>
#include <thread>
int main()
{
  std::thread t([]() world!" << std::endl;
  );
  t.join();
  return 0;
}

在上面的代码中,使用了一个 Lambda 表达式作为可调用对象,该表达式打印了一条消息。

需要注意的是,在 C++ 中开启线程可能会引起一些问题,如线程安全和数据竞争问题。因此,需要谨慎使用多线程,确保程序的正确性和稳定性。

  
  

评论区