Ну, вы делаете неприятные вещи с глобальными переменными. Это работает, но не считается хорошей практикой. (Посмотрите на очереди и уведомители ). Кроме того, я не вижу, как ваши данные записываются в эти переменные ...
В любом случае, поместите ваш второй ВП в отдельный while-l oop и запланируйте его примерно до 100 мс (то есть обычно достаточно, чтобы обновить лицевые панели или взаимодействовать с пользователями. Я не уверен, что ваше событие-кнопка - правильный путь к go. Именно потому, что второй ВП ожидает обратного вызова. Просто используйте простая кнопка и истинно-ложное дело, чтобы второй ВП продолжал работать (это может даже быть решением, если вы не хотите переносить дело во второй ВП). Просто убедитесь, что вы изменили механику эта кнопка является переключателем, потому что вы проверяете ее значение не с бесконечной скоростью и хотите, чтобы она каждый раз перехватывалась, вы нажимаете ее;)