다음을 통해 공유


Collections.SynchronizedSortedMap(IDictionary) 메서드

정의

지정된 정렬된 맵에서 지원되는 동기화된(스레드로부터 안전한) 정렬된 맵을 반환합니다.

[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

매개 변수

m
IDictionary

동기화된 정렬된 맵에서 "래핑"될 정렬된 맵입니다.

반환

지정된 정렬된 맵의 동기화된 뷰입니다.

특성

설명

지정된 정렬된 맵에서 지원되는 동기화된(스레드로부터 안전한) 정렬된 맵을 반환합니다. 직렬 액세스를 보장하기 위해 반환된 정렬된 맵(또는 해당 뷰)을 통해 백업 정렬된 맵에 대한 강력한>모든</강력한> 액세스를 수행하는 것이 중요<합니다.

컬렉션 뷰 또는 subMapheadMap 뷰의 컬렉션 뷰를 트래버스할 때 반환된 정렬된 맵에서 수동으로 동기화하거나 tailMap 다음을 통해 StreamIteratorSpliterator 동기화해야 합니다.

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 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상