global

消費者生産者。

import threading, Queue, random, sys

queue = Queue.Queue()
signal = True

def consumer():
    while signal:
        x = queue.get()
        print x
def producer():
    while signal:
        queue.put(random.randint(1,100))
def main():
    global signal
    p = threading.Thread(target = producer)
    p.start()
    c = threading.Thread(target = consumer)
    c.start()
    sys.stdin.readline()
    signal = False

main()

global 宣言をしないといけないことを知らずに思いっきりはまる。