問題タブ [event-queue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
events - SimPy のイベント キュー
私は SystemC の世界から来て、Python で簡単なものをコーディングしようとしています。Python に (SystemC の) peq_with_get() に似たものがあるのだろうかと思います。これは基本的に、イベントに対して行われたすべてのトリガーを保存するキューです。テストするために次のコードを開発しましたが、機能していないようです。simpy にイベント キューがあるかどうかを知るために、皆さんが私を案内してくれるかどうか疑問に思っています。
aws-lambda - 前のイベントのキューの残りの関数を実行する AWS ラムダ
プロミスを使用して dynamo から複数のレコードを取得するために、アプリケーションに AWS ラムダを使用しています。最初に context.callbackWaitsForEmptyEventLoop = true を設定したので、ハンドラーは約束が解決されるまで待機します。約束が解決されたら、 context.callbackWaitsForEmptyEventLoop = false を設定してから、 callback(null); を呼び出します。
プロミスが解決された後に callbackWaitsForEmptyEventLoop = false を設定しないと、callback(null) を呼び出した後でも関数がタイムアウトになります (一部のライブラリ関数はまだイベント キューにある可能性があります)。
したがって、問題は、同じランタイムが次回に再び使用される場合、イベント キューに以前に残っていた関数が最初からやり直すのではなく、再開されることです。これを回避する方法、または前のイベント キューを空にする方法はありますか?
java - コレクションまたはデータ構造のいずれかが Java でブロックされていない
イベント処理では、関数が値をコレクションに入れ、別の関数が同じコレクションから値を削除します。アイテムは、ソース (ソケット) から受け取った順序でコレクション内に配置し、同じ方法で読み取る必要があります。そうしないと、結果が変わります。
キューはほとんどの人が推奨するコレクションですが、同時に、アイテムが追加されているときにキューがブロックされているため、他の関数は追加が完了するまで待機する必要があり、非効率的であり、操作の待ち時間が時間の経過とともに増加します.
たとえば、あるスレッドがキューから読み取り、別のスレッドが同じキューに書き込みます。ロックが解放されるまで、いずれかの操作がキューで一度に実行されます。これを回避するデータ構造はありますか。