Collections.SynchronizedList(IList) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает синхронизированный (потокобезопасный) список, поддерживаемый указанным списком.
[Android.Runtime.Register("synchronizedList", "(Ljava/util/List;)Ljava/util/List;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static System.Collections.IList SynchronizedList (System.Collections.IList list);
[<Android.Runtime.Register("synchronizedList", "(Ljava/util/List;)Ljava/util/List;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedList : System.Collections.IList -> System.Collections.IList
Параметры
- list
- IList
список, который нужно упаковать в синхронизированный список.
Возвращаемое значение
синхронизированное представление указанного списка.
- Атрибуты
Комментарии
Возвращает синхронизированный (потокобезопасный) список, поддерживаемый указанным списком. Чтобы гарантировать последовательный доступ, важно <обеспечить надежный и< надежный>> доступ к резервному списку с помощью возвращаемого списка.
Очень важно, чтобы пользователь вручную синхронизировался с возвращенным списком при обходе по нему через Iterator
Spliterator
илиStream
:
List list = Collections.synchronizedList(new ArrayList());
...
synchronized (list) {
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
Неспособность следовать этому совету может привести к недетерминированному поведению.
Возвращаемый список будет сериализуемым, если указанный список сериализуется.
Документация по Java для java.util.Collections.synchronizedList(java.util.List<T>)
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.