Вам не нужно блокировать фактические вызовы сигналов / слотов, если вы используете Qt :: QueuedConnection для передачи информации вашим потокам, поскольку механизм QueuedConnection обрабатывает это потокобезопасным способом.
При этом вам все равно нужно защищать любую разделяемую память, к которой имеют доступ ваши потоки, независимо от того, как они были вызваны.Тот факт, что третий поток испустил один сигнал для вызова обоих слотов, не изменит этого.