Middle
Ի՞նչ տվյալների կառուցվածքներ են Java-ում սինխրոնիզացված և որոնք՝ ոչ։
sobes.tech AI
Պատասխան AI-ից
Java- ում որոշ տվյալների կառուցվածքներ սինխրոնիզացված են (վերահսկվող թելերի համար), իսկ մյուսները՝ ոչ:
Սինխրոնիզացված:
Vector—ArrayList-ի սինխրոնիզացված տարբերակը:Hashtable—HashMap-ի սինխրոնիզացված տարբերակը:Stack— ժառանգում էVector-ից, ուստի նույնպես սինխրոնիզացված է:- Կոլեկցիաներ, որոնք պատված են
Collections.synchronizedList(),synchronizedMap()և այլն: java.util.concurrentփաթեթի դասեր, օրինակ՝ConcurrentHashMap,CopyOnWriteArrayList:
Ոչ սինխրոնիզացված:
ArrayListLinkedListHashMapHashSet
Եթե անհրաժեշտ է օգտագործել ոչ սինխրոնիզացված հավաքածու բազմաթելային միջավայրում, այն կարելի է պատել սինխրոնիզացված տարբերակով Collections մեթոդների միջոցով կամ օգտագործել java.util.concurrent հատուկ դասեր:
Օրինակ՝
List<String> list = Collections.synchronizedList(new ArrayList<>());