Using thread and Locks : lock « Thread « Python Tutorial

Home
Python Tutorial
1.Introduction
2.Data Type
3.Statement
4.Operator
5.String
6.Tuple
7.List
8.Dictionary
9.Collections
10.Function
11.Class
12.File
13.Buildin Function
14.Buildin Module
15.Database
16.Regular Expressions
17.Thread
18.Tkinker
19.wxPython
20.XML
21.Network
22.CGI Web
23.Windows
Python Tutorial » Thread » lock 
17.7.1.Using thread and Locks
import thread
from time import sleep, ctime

loops = [4,2]

def loop(nloop, nsec, lock):
    print 'start loop', nloop, 'at:', ctime()
    sleep(nsec)
    print 'loop', nloop, 'done at:', ctime()
    lock.release()

print 'starting at:', ctime()
locks = []
nloops = range(len(loops))

for i in nloops:
    lock = thread.allocate_lock()
    lock.acquire()
    locks.append(lock)

for i in nloops:
    thread.start_new_thread(loop,
        (i, loops[i], locks[i]))

for i in nloops:
    while locks[i].locked(): pass

print 'all DONE at:', ctime()
17.7.lock
17.7.1.Using thread and Locks
17.7.2.Threading with locks
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.