плюсовой либой. При запуске логики плюсов, гуишка питона и управление в целом зависает до того момента, пока плюсовая логика не завершит свою работу. Кто-то сталкивался с таким?
Ну дак пушо однопоточное приложение у тебя, не?
если зависает, то очевидно, что где-то там блокирующее ожидание
В @procxx
Спасибо конечно, но вы там меня забанили когда-то давно =)
Ну, тогда могу только и тут забанить...
Фиг с тобой, вопрос выеденного яйца не стоит, оставайся тут.
То что ты вызвал с++ код не значит что он будет выполняться в другом потоке. Так и должно быть, делаешь вызов, он синхронно выполняется
Но это же вызов обычной функции по сути. Если я запущу функцию питона, то поток гуев не зависнет. Но спп тянет одеяло какбы на себя, останавливая работу всех потоков питона
цикл обработки сообщений Qt знаешь?
Зависнет, если ты из функции не выйдешь
Ну в плане? Если я вызову функцию в питоне, которая будет просто поочередно выводить мне i, я смогу спокойно клацать на гуишку и менять там какие-либо значения. Я закомментил все в плюсах и оставил чистый фор. Он мне так же положил питон полностью.
Под "положил" иеется в виду то, что программа перестает отвечать.
Ещё раз. Вызов функций строго синхронный. Это основной принцип программирования. Ты не можешь ЗАПУСТИТЬ функцию и оставить чтобы она работала независимо ни от чего где-то в облаках. Верни из функции управление, тогда продолжится твой код для GUI в питоне, его работа.
Так поток не гушный) почему я теряю управление всеми потоками?)
Я понимаю, что поток, в котором вызывается эта функция, зависнет, пока я не верну управление. Но зависают все потоки. В этом и проблема
А это уже - GIL мьютекс, наверняка
А разве в питоне не глобальная блокировка на всё?
не понял вопроса
Я не шарю за питон, но там есть какой то GIL, может ли в нём быть проблема твоей блокировки?
вот, пытаюсь нагуглить по этим GIL
Обсуждают сегодня