mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-28 11:30:42 +00:00
10 lines
937 B
Markdown
10 lines
937 B
Markdown
### algorithm
|
||
#### synchronized
|
||
- конкурентность. [Три способа менять один объект из нескольких потоков. Больше нет](https://habr.com/ru/articles/974198/)
|
||
Что происходит, когда два потока одновременно хотят изменить один объект?
|
||
Не «как устроен mutex». Не «чем CAS лучше lock». А именно: что случится при конфликте?
|
||
Ответов ровно три:
|
||
- Один победит, другой переделает работу (First Win + Retry)
|
||
- Один подождёт, пока другой закончит (Single Writer)
|
||
- Последний затрёт первого (Last Win)
|
||
CSP Хоара (как и указанные в статье Go channels) относится к Стратегии 2.2 (Очередь/Single Writer).
|