検索

ホームページ  >  に質問  >  本文

multi-thread - C++11 的 thread 库,为什么没有start方法。

C++11 希望用 thread 库来实现多线程,要启动线程,但thread类为什么没有start方法?
我看网上很多文章都是用join方法来开启线程。join显然是同步的,没达到多线程异步的效果。

大家讲道理大家讲道理2812日前1070

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:48:04

    std::thread::join()この関数は、スレッドを開始するためには使用されません。逆に、現在のスレッドをブロックし、対応するスレッドが終了するのを待つために使用されます。 std::thread オブジェクトが構築されると、新しいスレッドの実行が開始されます。

    返事
    0
  • PHPz

    PHPz2017-04-17 14:48:04

    join() 自体はスレッドを開始しません。
    非同期アクセスでは、asyncstd::future と組み合わせて使用​​することもできます。ただし、std::launch::async が必須でない限り、これは新しいスレッドが起動されることを必ずしも保証しません。 get または wait 中の実行のみを保証できます。

    返事
    0
  • キャンセル返事