21xrx.com
2024-11-05 14:48:55 Tuesday
登录
文章检索 我的文章 写文章
C++ 如何开启线程。
2023-06-23 14:21:28 深夜i     --     --
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++ 中开启线程可能会引起一些问题,如线程安全和数据竞争问题。因此,需要谨慎使用多线程,确保程序的正确性和稳定性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复