multi-thread - C++11 的 thread 库,为什么没有start方法。
大家讲道理
大家讲道理 2017-04-17 14:46:04
0
2
1093

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(2)
Ty80

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

いいねを押す +0
PHPzhong

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート