如何在C++中创建多线程应用程序

Far*_* Rn 3 c++ multithreading

可能重复:
C++中线程的简单示例

有人可以举个例子来说明如何在C++中创建一个同时运行两个函数的简单应用程序吗?我知道这个问题与线程管理和多线程有关,但我基本上是一个php程序员,我并不熟悉高级C++编程.

Ker*_* SB 11

这是一个简单的例子:

#include <iostream>
#include <thread>

void f1() { std::cout << "This is function 1.\n"; }
void f2() { std::cout << "This is a different function, let's say 2.\n"; }

int main()
{
    std::thread t1(f1), t2(f2);   // run both functions at once

    // Final synchronisation:
    // All running threads must be either joined or detached
    t1.join();
    t2.join();
}
Run Code Online (Sandbox Code Playgroud)

如果你的函数需要产生返回值,你应该将上面的线程对象与std::packaged_task可用的runnable对象结合起来<future>,这使你可以访问线程函数的返回值.