3

strand::post()とのパフォーマンスの違いは何strand::wrap()ですか? そして、使用時の競合状態についての話は何strand::wrap(ですか )?

4

1 に答える 1

4

明確にするためにstrand::wrap、ハンドラーのみを作成し、提供されたハンドラーも返されたハンドラーも にディスパッチまたはポストされませんio_service。result fromstrand::wrapが実行される場合、オーバーヘッドによるパフォーマンスの違いは無視できます。ただし、 を使用してラップされたハンドラーの結果として認識されるパフォーマンスの違いが発生する可能性がありますdispatch()。特定の条件下でpost()は、ユーザーのハンドラーが常にキューに追加される ではなく、ユーザーのハンドラーがすぐに実行されます。

また、ストランドを使用するときに競合状態があってはなりません。documentationによると、個別の共有オブジェクトに対してスレッドセーフです。

于 2013-01-19T13:22:05.667 に答える