c++ - 如何在 C++ 中创建一个基本线程

标签 c++ multithreading

我有一个类main.cpp,还有一个MyClass.cpp

main.cpp中,我有很多代码。不过在顶部,我创建了一个 MyClass 对象,然后我想启动一个位于 MyClass 中的线程。我希望它调用一个函数 Run() 并让该函数与 main.cpp 中的其余函数同时运行。

在 C++ 中执行此操作的最简单方法是什么。我从来没有在 C++ 中做过线程,但是我在 Java 中做过。

如果可能,我想避免使用外部包等。

最佳答案

最简单的方法是使用 boost thread图书馆。

#include <boost/thread.hpp>
#include <boost/bind.hpp>

...

int main()
{
  ...
  MyClass mc;
  boost::thread bt(boost::bind(MyClass::Run, &mc));
  ...
  bt.join();
  ...
 }

关于c++ - 如何在 C++ 中创建一个基本线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10133574/

相关文章:

c++ - 使用 continue 无限循环

c++ - 如何确保在 C++ 中解锁储物柜?哪种解决方案更好

Android SDK AsyncTask doInBackground 未运行(子类)

multithreading - 使用DefaultConsumer和QueueingConsumer的RabbitMQ Java客户端

c++ - 同时多次运行一个进程

c++ - 尝试使用 mex 为 MATLAB 编译多个 c++ 文件时出错

c++ - 将两个矩阵与特征值进行比较

c++ - Scott Meyers 关于偏好非成员非友元方法的建议是否适用于对象构造?

java - 在构造函数之外初始化的最终字段是否会在运行构造函数之前初始化?

c - 如何在多线程 TCP 服务器中获取每个连接的客户端地址