Модуль Queue - это python, хорошо подходящий для того, что вы описываете.
Вы можете настроить одну очередь, которая будет использоваться всеми вашими потоками. Потоки, которые обрабатывают сетевые события, могут использовать queue.put для отправки событий в очередь. Логический поток будет использовать queue.get для извлечения событий из очереди.
import Queue
# maxsize of 0 means that we can put an unlimited number of events
# on the queue
q = Queue.Queue(maxsize=0)
def network_thread():
while True:
e = get_network_event()
q.put(e)
def logic_thread():
while True:
# This will wait until there are events to process
e = q.get()
process_event(e)