def run(tk): s = Canvas(tk, width = 800, height = 800, background = "blue") s.grid(row = 0, column = 0) pond = PhotoImage(file = "pond.gif") pondO = None queue = Queue() shared = Array('i', [0, 0, 0]) paused = Array('i', [1, 1, 0, 1]) stars = Stars(queue, shared, paused) stars.start() sleep(0.01) main = MainThread(queue, shared, paused) main.start() sleep(0.01) rain = Rain(queue, shared, paused) rain.start() sleep(0.01) clouds = Clouds(queue, shared, paused) clouds.start() while True: contA = [] while len(contA) < 4: try: task = queue.get(block = False) except: pass else: try: if task.oper == "create": object = s._create(task.object, task.coords, task.kw) task.pipeSend.send(object) elif task.oper == "config": s.config(task.kw) elif task.oper == "coords": s.coords(task.object, task.coords) elif task.oper == "itemconfig": s.itemconfig(task.object, task.kw) elif task.oper == "cont": contA.append(1) except: break if pondO == None: pondO = s.create_image(150, 700, image = pond) try: s.update() except: break paused[0] = 0 paused[1] = 0 paused[2] = 0 paused[3] = 0