可以通过 thread 来创建一个线程,线程创建后就开始执行了

    1. #include <thread>
    2. std::thread t(func, args);

    如何等待线程执行完毕:

    1. join
      • 等待期间,当前线程会阻塞
      • join 会清理子线程的内存空间,此后子线程就无法再 join
    2. detach
      • 子线程独立执行,执行完后会自动清理空间
      • 一般情况下是使用 join

    注:

    • 一旦主线程执行完毕,进程就会退出,没有执行完的子线程也会退出。
    • 如果没有进行 detach ,一旦线程对象发生了析构,线程就会立刻终止。