Здесь у меня есть два процесса для последовательного выполнения, скажем A
, затем B
. Первая задача A
выводит значение для второй задачи B
, и вычисление каждого прогона занимает мало времени. B
включает в себя некоторые сложные вычисления и занимает на порядок больше времени, чем A
.
Между тем, Задача B
извлекает самое новое возвращаемое значение из A
только после завершения длинных вычислений. Проблема в том, что я не хочу ждать окончания работы B
, чтобы A
смог получить следующее значение, другими словами, A
необходимо постоянно генерировать его значение. Как правильно и целесообразно реализовать эту функцию в Python?
Имитация задачи A
и B
:
some_random_value = 0
def a():
global some_random_value
while True:
some_random_value = random.randint(1,100)
time.sleep(0.01) # fast
return some_random_value
def b(some_random_value):
while True:
time.sleep(2) # slow
print(some_random_value+1)