2

どのシナリオで、通常 PUSH_MODE を使用しますか? 通常は PULL_MODE の相互作用が推奨されますが、どのシナリオまたは条件で PUSH モードを使用する必要があるか知りたいですか?

ありがとう、

4

1 に答える 1

1

try_next_item()まず、ドライバ インスタンスをorでポーリングする必要がなくなりますget_next_item()。これは、パフォーマンスの観点から見て有利です。(ただし、呼び出しdriver.get_next_item()は、シーケンス項目を待機しているすべての BFM スレッドを中断する必要があるブロッキング呼び出しです。)

この (おそらくマイナーな) パフォーマンスの側面とは別に、並列シーケンスが指定したシーケンス項目を並べ替えたい場合があります。ドライバから出力されるシーケンス項目の順序は FIFO です。デッドロックの理由で他のものをバイパスする必要があるシーケンス アイテムがある場合、またはアイテムが処理される順序をさらにランダム化する必要がある場合は、すべてのアイテムを独自のコレクション データ構造に詰め込んで、自分で管理する必要があります。

于 2012-07-03T20:27:03.483 に答える