import queue
q = queue.Queue(maxsize=0)

def network_thread():
    while True:
        e = get_network_event()
q.put(e)

def logic_thread():
    while True:
        e = q.get()
process_event(e)
Are there any built-in cross-thread events in python?