def run_expensive():
    q = Queue()
    t = Thread(target=expensive_operation, args=(q,), daemon=True)
    t.start()
    t.result = q
    return t.result.get()