Collections.SynchronizedCollection(ICollection) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回由指定集合支援的已同步處理(安全線程)集合。
[Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static System.Collections.ICollection SynchronizedCollection (System.Collections.ICollection c);
[<Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedCollection : System.Collections.ICollection -> System.Collections.ICollection
參數
要「包裝」在同步集合中的集合。
傳回
指定集合的同步檢視。
- 屬性
備註
傳回由指定集合支援的已同步處理(安全線程)集合。 為了保證序列存取, <必須透過傳回的集合來完成對備份集合的強>式所有</強式> 存取。
使用者必須透過 或 Spliterator
Stream
,在傳回的集合上手動同步處理它Iterator
:
Collection c = Collections.synchronizedCollection(myCollection);
...
synchronized (c) {
Iterator i = c.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
若未遵循這項建議,可能會導致不具決定性的行為。
傳回的集合不會將 和 equals
作業傳遞hashCode
至備份集合,而是依賴 Object
的 equals 和 hashCode 方法。 若要保留這些作業的合約,在備份集合是集合或清單的情況下,必須保留這些作業的合約。
如果指定的集合可串行化,則傳回的集合可串行化。
的 java.util.Collections.synchronizedCollection(java.util.Collection<T>)
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。