2 つのスレッドがあり、1 つはストリームを読み取り、そのコンテンツからデータ オブジェクトを生成します。
次に、それらを 2 番目のスレッドに渡して、データベースに書き込む必要があります。
ストリームとデータベースの I/O パフォーマンスが異なるため、2 つのタスクを分離したいと考えています (これが 2 つのスレッドを使用した理由です)。場合によっては、ストリームが高速である場合もあれば、db に多少の遅延がある場合もあります。
そこで、それらの間に (非常に単純な!) データストレージを配置することを考えました。
私の最初のアイデアは FILO ソリューションであり、スレッドセーフである必要があり、高速である必要があります (空想的なものはなく、置いて引くだけです)。順序は関係ありません。ある時点で、ストレージに約 100,000 エントリが存在する可能性があります (これは、db で約 1 秒間 ping を実行した後のケースです)。
各オブジェクトのフットプリントは小さく、1kb 未満です。
あなたは私に何をお勧めしますか?