Collections.SynchronizedSortedMap(IDictionary) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 정렬된 맵에서 지원되는 동기화된(스레드로부터 안전한) 정렬된 맵을 반환합니다.
[Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static System.Collections.IDictionary SynchronizedSortedMap (System.Collections.IDictionary m);
[<Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedSortedMap : System.Collections.IDictionary -> System.Collections.IDictionary
매개 변수
동기화된 정렬된 맵에서 "래핑"될 정렬된 맵입니다.
반환
지정된 정렬된 맵의 동기화된 뷰입니다.
- 특성
설명
지정된 정렬된 맵에서 지원되는 동기화된(스레드로부터 안전한) 정렬된 맵을 반환합니다. 직렬 액세스를 보장하기 위해 반환된 정렬된 맵(또는 해당 뷰)을 통해 백업 정렬된 맵에 대한 강력한>모든</강력한> 액세스를 수행하는 것이 중요<합니다.
컬렉션 뷰 또는 subMap
headMap
뷰의 컬렉션 뷰를 트래버스할 때 반환된 정렬된 맵에서 수동으로 동기화하거나 tailMap
다음을 통해 Stream
Iterator
Spliterator
동기화해야 합니다.
SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
...
Set s = m.keySet(); // Needn't be in synchronized block
...
synchronized (m) { // Synchronizing on m, not s!
Iterator i = s.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
또는:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
SortedMap m2 = m.subMap(foo, bar);
...
Set s2 = m2.keySet(); // Needn't be in synchronized block
...
synchronized (m) { // Synchronizing on m, not m2 or s2!
Iterator i = s2.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
이 조언을 따르지 않으면 비결정적 동작이 발생할 수 있습니다.
지정된 정렬된 맵을 직렬화할 수 있는 경우 반환된 정렬된 맵을 직렬화할 수 있습니다.
에 대한 java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.