CUNC 31/35 - День 3, L4 Язык C, Синхронизация в многопоточных приложениях (семафоры/мютексы/спинлок)
Channel: EustroSoft.org
Date: 06/03/2020

CUNC 31/35 - День 3, L4 Язык C, Синхронизация в многопоточных приложениях (семафоры, мютексы, спинлок). Console Unix Networks C
http://cunc.eustrosoft.org 

1) задачи, которые можно решать на C, которые нужно решать на C, и которые лучше на нем не решать. 
2) Синхронизация в многопоточных приложениях 
2.1) по доступу к файлу (man 2 flock; man 2 open)
2.2) Семафоры  (semaphore)  -примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения на единицу, при этом операция уменьшения для нулевого значения счётчика является блокирующейся.
2.3) Мьютексы - (mutex, от mutual exclusion) — аналог одноместного семафора, служащий в программировании для синхронизации одновременно выполняющихся потоков. 
2.4) критические секции (critical section) — объект синхронизации потоков, позволяющий предотвратить одновременное выполнение некоторого набора операций (обычно связанных с доступом к данным) несколькими потоками.
2.5) Спинлок (Spinlock — циклическая блокировка)
3) Разделяемая память (shared memory), memory mapped files 

#CUNC #EustroSoft #NETMandala #UNIX #ityoutubersru