python线程同步的代码

121 阅读1分钟

研发之余,将代码过程中较好的内容珍藏起来,下面的资料是关于python线程同步的代码,应该对大伙有好处。

#!/usr/bin/python

import threading import time

class myThread (threading.Thread): def init(self, threadID, name, counter): threading.Thread.init(self) self.threadID = threadID self.name = name self.counter = counter def run(self): print "Starting " + self.name # Get lock to synchronize threads threadLock.acquire() print_time(self.name, self.counter, 3) # Free lock to release next thread threadLock.release()

def print_time(threadName, delay, counter): while counter: time.sleep(delay) print "%s: %s" % (threadName, time.ctime(time.time())) counter -= 1

threadLock = threading.Lock() threads = []

Create new threads

thread1 = myThread(1, "Thread-1", 1) thread2 = myThread(2, "Thread-2", 2)

Start new Threads

thread1.start() thread2.start()

Add threads to thread list

threads.append(thread1) threads.append(thread2)

Wait for all threads to complete

for t in threads: t.join() print "Exiting Main Thread"

输出结果

Starting Thread-1 Starting Thread-2 Thread-1: Thu Mar 21 09:11:28 2013 Thread-1: Thu Mar 21 09:11:29 2013 Thread-1: Thu Mar 21 09:11:30 2013 Thread-2: Thu Mar 21 09:11:32 2013 Thread-2: Thu Mar 21 09:11:34 2013 Thread-2: Thu Mar 21 09:11:36 2013 Exiting Main Thread