Я разрабатываю приложение, которое использует QSerialPort для получения данных через UART.В этом приложении я использую функцию журнала, которая пишет в файл.Перед записью в файл приложение блокирует мьютекс, а после записи в файл разблокирует мьютекс.Между блокировкой мьютекса и разблокировкой я больше не вызываю функцию журнала.
Конечно, данные, поступающие с последовательного порта, поступают асинхронно и запускают сигнал и слот, где обрабатываются данные.В этой функции, где обрабатываются данные, я снова вызываю функцию log.
Я не использую многопоточность в своем приложении, насколько я знаю, слоты вызываются в одном потоке.
Вопрос в том, может ли однопотоковая блокировка сама по себе, когда данные из QSerialPort поступают точно после блокировки мьютекса в функции журнала?(Это означало бы двойную блокировку одного и того же мьютекса - предположим, что мы не используем рекурсивный мьютекс)
Есть ли хороший источник знаний по такой теме?