Collections.SynchronizedSet(ICollection) Метод

Определение

Возвращает синхронизированный (потокобезопасный) набор, поддерживаемый указанным набором.

[Android.Runtime.Register("synchronizedSet", "(Ljava/util/Set;)Ljava/util/Set;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static System.Collections.ICollection SynchronizedSet (System.Collections.ICollection s);
[<Android.Runtime.Register("synchronizedSet", "(Ljava/util/Set;)Ljava/util/Set;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedSet : System.Collections.ICollection -> System.Collections.ICollection

Параметры

s
ICollection

набор, который необходимо упаковать в синхронизированный набор.

Возвращаемое значение

синхронизированное представление указанного набора.

Атрибуты

Комментарии

Возвращает синхронизированный (потокобезопасный) набор, поддерживаемый указанным набором. Чтобы гарантировать последовательный доступ, очень важно, чтобы <надежный<>> доступ к резервному набору выполнялся через возвращаемый набор.

Крайне важно, чтобы пользователь вручную синхронизировать возвращаемую коллекцию при ее обходе с помощью Iteratorили SpliteratorStream:

Set s = Collections.synchronizedSet(new HashSet());
                 ...
             synchronized (s) {
                 Iterator i = s.iterator(); // Must be in the synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

Несоблюдение этого совета может привести к недетерминированному поведению.

Возвращаемый набор будет сериализуемым, если указанный набор является сериализуемым.

Документация по Java для java.util.Collections.synchronizedSet(java.util.Set<T>).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Применяется к