Я пытался передать данные в цикл в другом процессе, создавая пустой объект, в который я помещаю данные. Когда я изменяю содержимое моего объекта, процесс, кажется, не обновляется, и продолжает возвращать то же значение.
Вот код, который я пробовал:
from multiprocessing import Process
from time import sleep
class Carrier(): # Empty object to exchange data
pass
def test():
global carry
while True:
print(carry.content)
sleep(0.5)
carry = Carrier()
carry.content = "test" # Giving the value I want to share
p = Process(target=test, args=())
p.start()
while True:
carrier.content = input() # Change the value from the object
Я также пытался каждый раз удалять объект из памяти и переопределять его в следующем цикле, но, похоже, он не дает никакого эффекта, вместо этого он сохраняет первоначальное значение «test», то, которое присутствует при его выполнении.