Python - Waiting for variable change
Here is an example with threading event:
import threading
from time import sleep
evt = threading.Event()
result = None
def background_task():
global result
print("start")
result = "Started"
sleep(5)
print("stop")
result = "Finished"
evt.set()
t = threading.Thread(target=background_task)
t.start()
# optional timeout
timeout=3
evt.wait(timeout=timeout)
print(result)
A busy loop is not the right approach, since it obviously wastes CPU. There are threading constructs that let you communicate such events, instead. See for example: http://docs.python.org/library/threading.html#event-objects