C#のスレッドセーフコレクション
.NET Framework 4では、System.Collections.Concurrent名前空間が導入されました。名前空間には多数のコレクションクラスがあります。これらのクラスは、スレッドセーフでスケーラブルです。複数のスレッドで、これらのコレクションにアイテムを安全に追加または削除できます。
次の同時収集タイプは、軽量の同期メカニズムを使用します:SpinLock、SpinWaitなど。これらは.NETFramework4の新機能です。
C#で同時収集を見てみましょう-
Sr.No。 | |
---|---|
1 |
BlockingCollection あらゆるタイプの境界およびブロック機能。 |
2 |
ConcurrentDictionary キーと値のペアの辞書のスレッドセーフな実装。 |
3 |
ConcurrentQueue FIFO(先入れ先出し)キューのスレッドセーフな実装。 |
4 |
ConcurrentStack LIFO(後入れ先出し)スタックのスレッドセーフな実装。 |
5 |
ConcurrentBag 順序付けられていない要素のコレクションのスレッドセーフな実装。 |
6 |
IProducerConsumerCollection BlockingCollectionで使用するために型が実装する必要のあるインターフェース |
-
SwingはJavaでスレッドセーフですか?
いいえ、 Java Swing コンポーネントはJavaではスレッドセーフではありません。 Swingコンポーネントがスレッドセーフではない理由 Java Swingがスレッドセーフではない主な理由の1つは、そのコンポーネントを拡張するタスクを簡素化することです。 Java Swingのもう1つの理由は、ロックの取得と解放、および状態の復元に伴うオーバーヘッドのため、スレッドセーフではありません。 。 一部のJavaSwingコンポーネントメソッドは、 repaint()、revalidate()などのマルチスレッドアクセスをサポートします。 、および invalidate()メソッド
-
MicrosoftEdgeでコレクションを使用する方法
Microsoft Edgeは、最近一貫して高速で強力なWebブラウザとしての地位を証明しています。 Edgeには、他のブラウザよりも優れている多くの革新的な機能が満載されており、主要なブラウザになるための確固たる競争相手になります。 ウェブサイトで何かが好きだったことは何回ありますが、ブックマークやスクリーンショットとして保存するのは面倒なことのように思えました。 Microsoft Edgeのコレクションは、Webを閲覧しながらアイデアを整理するのに役立ちます。これは、お気に入りのアイテムをオンラインで簡単に追跡できる便利なツールです。 MicrosoftEdgeコレクションについて知