C 並行集合類總結

2021-08-07 02:25:06 字數 930 閱讀 2889

system.collections.concurrent

命名空間提供多個執行緒安全集合類。當有多個執行緒併發訪問集合時,應使用這些類代替 

system.collections

和system.collections.generic

命名空間中的對應型別。

但是,通過當前集合實現的例項之一訪問的成員(包括擴充套件方法)不保證是執行緒安全的,可能需要由呼叫方同步。 類

類說明blockingcollection

為實現 iproducerconsumercollection的執行緒安全集合提供阻塞和限制功能。

concurrentbag

表示物件的執行緒安全的無序集合。

concurrentdictionary

表示可由多個執行緒同時訪問的鍵/值對的執行緒安全集合。

concurrentqueue

表示執行緒安全的先進先出 (fifo) 集合。

concurrentstack

表示執行緒安全的後進先出 (lifo) 集合。

orderablepartitioner

表示將可排序資料來源拆分為多個分割槽的特定方式。

partitioner

為陣列、列表和可列舉物件提供常見的分割槽策略。

partitioner

表示將資料來源拆分為多個分割槽的特定方式。 介面

介面說明iproducerconsumercollection

定義用於操作供生產者/使用者使用的執行緒安全集合的方法。 此介面提供統一的表示形式的生產者/使用者集合使程式更高階別的抽象如 system.collections.concurrent.blockingcollection可以將此集合用作基礎儲存機制。 列舉

列舉說明enumerablepartitioneroptions

指定選項來控制分割槽程式緩衝行為

集合類總結

可分為單列集合和雙列集合,即collection介面 單列 和map介面 雙列,即key value集合 集合體現了多型的思想。主要方法 1.arraylist類 since v1.2,底層是陣列,預設容量10 特點 效率較高,但是執行緒不安全 擴容機制 無參構造方法會先建立初始10容量的物件陣列e...

JAVA集合類總結

所有的集合類都是先iterator介面,意味著所有的集合類都是可以迭代輸出的。以collection為介面的元素集合型別,以map為介面的對映集合型別 所有集合的實現類都不是直接實現集合類介面,而是都繼承乙個相應的抽象類。list list介面提供了多個實現的子類,其實現類有arraylist,li...

Scala 的並行集合

當出現kafka單個分割槽資料量很大,但每個分割槽的資料量很平均的情況時,我們往往採用下面兩種方案增加並行度 l 增加kafka分割槽數量 l 對拉取過來的資料執行repartition 但是針對這種情況,前者的改動直接影響所有使用消費佇列的模型效能,後者則存在乙個shuffle的效能消耗。有沒有既...