Возможно ли из потока изменить переменную основного цикла?
Доброго времени суток. У меня есть скрипт, который работает следующим образом:
1. Бесконечный цикл
1.1. Выполнение функции №1, которая изменяет значение переменной на True/False.
1.2 Если True, то выполняю функцию №2.
Передо мной стоит задача вызывать функцию №2 как можно чаще. Немного подумав, я решил, что если вынести функцию №1 в отдельный поток, то функция №2 будет вызываться чаще, потому-что не ожидает исполнения функции №1. Но как мне в потоке, который выполняет функцию №1, изменить переменную основного цикла, где находится функция №2 ?
P.S. Я знаю, что пайтон и скорость - сомнительное дуо, но всё же. Если у вас есть иные варианты учащения вызова функции №2, буду рад ознакомиться с ними.
Судя по всему описанному, то просто использовать global. Вроде это не какой-то важный код над которым нужно задумываться, так что сойдёт и такое решение
Спасибо. На самом деле очень популярны слухи о том, что пайтон медлительный, но для моих проектов его скорости хватает с головой. Пока я не уверен, на счёт оценки его скорости
ODNik, во-первых, сам по себе язык быстрым или медленным быть не может, может быть быстрой или медленной среда выполнения.. Если говорить конкретно про интерпретатор CPython, то медлительным он будет, если применять его не по назначению или неправильно. При правильном же применении его хватает и для перемалывания big data, и для нужд ML в корпорациях типа Сбера, и для высоконагруженных web-приложениях типа Instagram.
Сергей Горностаев, разовые действия, которые выполняются чуть дольше на питоне, чем на другом языке - не страшны. Нет разницы, выполнилась ли задача за 0,003 сек, или за 0.3 сек. Только вот сразу будет заметна разница, когда этих операций будет не одна, а сотня (0,3 сек против 30 секунд).
Hemul GM, зависит от того, какая операция. I/O bound задачи с одинаковой скоростью выполняются хоть в Python, хоть в Assembler. А в наше время даже вычисления - это I/O bound, так как производятся на GPU в основном.
Сергей Горностаев, речь только о внутренних алгоритмах. Работа со строками, числами, списками и т.д.
В питоне, помимо всего, имеется проблема с потоками. Ну ты и сам знаешь всё