Мне нужно реализовать критический раздел в Qt (4.7.3, Windows XP).
Например, публичный слот:
void MyClass::myPublicSlot(...local params...)<br>
{ </p>
<blockquote>
<p>...<br>
block of code working with global params;<br>
... </p>
</blockquote>
<p>}
Функция void myPublicSlot
запускается по таймеру.
Выполнение этой функции может занять много времени, иногда больше, чем время таймера (или, например, нажатие кнопки).
Нужно заблокировать block of code working with global params
.
Вызов функции может быть как многопоточным, так и однопоточным.
P.S. Я попытался использовать QMutex и QMutexLocker, но его причина вызывает тупик в однопоточном случае.