https://m.habr.com/ru/post/443406/?fbclid=IwAR2vWcUqJEJu-_9N8aqBd7FWbzIHmESL8XIlSkhWdK9F07BCyQDlqvAVs08

Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разработки я совершил множество ошибок. К счастью, большинство из них были выявлены на код ревью и тестировании. Тем не менее, некоторые каким-то образом проскакивали на продуктив, и нам приходилось править эксплуатируемые системы, что всегда дорого.