Հետ
Ծրագրավորում և բաց կոդ

Երբ atomic-ը իրականում ավելի արագ է, քան Mutex-ը

Habr
Advertisement468 × 90
Երբ atomic-ը իրականում ավելի արագ է, քան Mutex-ը

Habr-ի այս հոդվածը նվիրված է Go լեզվով բազմահոսքային ծրագրավորմանը, մասնավորապես՝ sync/atomic և sync.Mutex համաժամացման պրիմիտիվների ընտրությանը: Հեղինակը մանրամասն վերլուծում է երկու գործիքների աշխատանքի մեխանիզմները՝ բացատրելով, թե ինչպես խուսափել «տվյալների մրցավազքից» (data race), երբ տարբեր գորուտիններից մուտք են գործում ընդհանուր ռեսուրսներ: Հիմնական ուշադրությունը դարձված է արտադրողականությանը. բացատրվում է, թե որ ճարտարապետական սցենարներում են ատոմային գործողություններն ավելի արդյունավետ, քան մյուտեքսների միջոցով արգելափակումները: Հոդվածն օգնում է ծրագրավորողներին ավելի լավ հասկանալ Go-ի ներքին կառուցվածքը և օպտիմալացնել կոդի այն հատվածները, որտեղ կարևոր է բարձր արագությունը զուգահեռ մուտքի ժամանակ: Հեղինակը պնդում է, որ atomic-ի և Mutex-ի միջև ընտրությունը պետք է հիմնված լինի կոնկրետ խնդիրների և ծանրաբեռնվածության բնույթի վրա: Ընթերցողները կարող են ծանոթանալ ամբողջական վերլուծությանը և կոդի օրինակներին Habr-ի օրիգինալ հրապարակման մեջ:

This is a summary. Read the full article at the original source:

Habr
Advertisement468 × 90
Share
Ծրագրավորում և բաց կոդ

Կապակցված

Ծրագրավորող Վարշիթ Հեգդեն ստեղծել է «Huh?» հավելվածը՝ macOS-ի համար, որը լուծում է հանդիպումների կամ դասախոսությունների ժամանակ տեղեկատվությունը բաց թ…

Dev.to
Advertisement970 × 250