Изучение критических разделов: методы и примеры кода для синхронизации в многопоточном программировании