
2025 Հեղինակ: Lynn Donovan | [email protected]. Վերջին փոփոխված: 2025-01-22 17:27
Վեկտոր բոլոր մեթոդները համաժամանակացված են: Այսպիսով, օգտագործելով այն բազմաթիվից թելեր է « ապահով Դուք պետք է համաժամանակացնեք միայն այն դեպքում, եթե ձեզ անհրաժեշտ է կարդալ-գնահատել-գրել գործընթաց՝ ատոմային լինելու համար: Ձեր սեփական մեթոդների համաժամացումը պարտադիր չէ, որ ձեր կոդը դարձնի: թել - ապահով այդ սցենարների համար:
Հաշվի առնելով սա, արդյոք ցուցակի շարանը անվտանգ է Java-ում:
Փաստորեն, հավաքածուի բոլոր դասերը (բացի Vector-ից և Hashtable-ից) java . Util փաթեթը չեն թել - ապահով . Դրա համար էլ նոր հավաքածուներ ( Ցուցակ , Սահմանել, Քարտեզ և այլն) բացարձակապես չեն ապահովում միաժամանակյա հսկողություն՝ մեկ թելային հավելվածներում առավելագույն կատարողականություն ապահովելու համար:
Նմանապես, ո՞ր հավաքածուն է Java-ում անվտանգ թելերով: Ա թել - ապահով class-ը դաս է, որը երաշխավորում է դասի ներքին վիճակը, ինչպես նաև մեթոդներից վերադարձված արժեքները, որոնք ճիշտ են, մինչդեռ միաժամանակ կանչվում են բազմաթիվից: թելեր . Այն հավաքածու դասեր, որոնք են թել - անվտանգ Java-ում են Stack, Vector, Properties, Hashtable և այլն:
Հաշվի առնելով սա՝ Java HashSet թեման անվտանգ է:
HashSet չէ թեմա անվտանգ HashSet մեջ Java չէ թեմա ապահով քանի որ այն լռելյայնորեն համաժամանակացված չէ: Եթե դուք օգտագործում եք HashSet բազմաթելային միջավայրում, որտեղ այն հասանելի է բազմակի կողմից թելեր միաժամանակ և կառուցվածքային ձևափոխվել է նաև մեկով թել ապա այն պետք է համաժամանակացվի արտաքինից:
Ո՞րն է թեմայի անվտանգ ArrayList-ը կամ վեկտորը:
Վեկտոր դանդաղ է, ինչպես որ կա թեմա ապահով . համեմատ ArrayList արագ է, քանի որ այն ոչ համաժամանակացված է: Այսպիսով, ներս ArrayList երկու կամ ավելի թելեր կարող է միաժամանակ մուտք գործել կոդը, մինչդեռ Վեկտոր սահմանափակվում է մեկով թել միեւնույն ժամանակ. Ա Վեկտոր կանխադրված է կրկնապատկել իր զանգվածի չափը:
Խորհուրդ ենք տալիս:
Արդյո՞ք Guava LoadingCache շարանը անվտանգ է:

Interface LoadingCache Կիսամյակային քարտեզագրում բանալիներից մինչև արժեքներ: Արժեքներն ինքնաբերաբար բեռնվում են քեշի կողմից և պահվում են քեշում, մինչև որ դրանք հեռացվեն կամ ձեռքով չեղարկվեն: Ակնկալվում է, որ այս ինտերֆեյսի իրականացումները ապահով կլինեն շղթաների համար և կարող են ապահով մուտք գործել մի քանի միաժամանակյա շղթաներով
Վեկտոր Push_back շարանը անվտանգ՞ է:

Այն անվտանգ չէ թելի համար, քանի որ ավեկտորը հարակից է, և եթե այն մեծանում է, ապա ձեզ հարկավոր է վեկտորի պարունակությունը տեղափոխել հիշողության այլ տեղ:
Արդյո՞ք CloseableHttpClient շարանը անվտանգ է:

Ակնկալվում է, որ HttpClient-ի ներդրումը կլինի անվտանգ: Առաջարկվում է, որ այս դասի նույն օրինակը նորից օգտագործվի բազմաթիվ հարցումների կատարման համար
Անվտանգ է արդյոք GSON շարանը:

Gson-ի օրինակները Thread-ի համար անվտանգ են, այնպես որ կարող եք դրանք ազատորեն օգտագործել բազմաթիվ շղթաներում: Դուք կարող եք ստեղծել Gson օրինակ՝ կանչելով նոր Gson(), եթե լռելյայն կոնֆիգուրացիան այն է, ինչ ձեզ հարկավոր է:
Արդյո՞ք LocalDateTime շարանը անվտանգ է:

123456789'-ը կարող է պահվել LocalDateTime-ում: Այս դասը չի պահում կամ ներկայացնում ժամային գոտի: Փոխարենը, դա ամսաթվի նկարագրություն է, ինչպես օգտագործվում է ծննդյան օրերի համար, զուգորդված տեղական ժամանակի հետ, ինչպես երևում է պատի ժամացույցի վրա: Այս դասը անփոփոխ է և անվտանգ է թելի համար