import thread
import time
+verbose = 0
+if __name__ == '__main__':
+ verbose = 1
+
mutex = thread.allocate_lock()
whmutex = thread.allocate_lock() # for calls to whrandom
running = 0
whmutex.acquire()
delay = whrandom.random() * numtasks
whmutex.release()
- print 'task', ident, 'will run for', delay, 'sec'
+ if verbose:
+ print 'task', ident, 'will run for', delay, 'sec'
time.sleep(delay)
- print 'task', ident, 'done'
+ if verbose:
+ print 'task', ident, 'done'
mutex.acquire()
running = running - 1
if running == 0:
global next_ident, running
mutex.acquire()
next_ident = next_ident + 1
- print 'creating task', next_ident
+ if verbose:
+ print 'creating task', next_ident
thread.start_new_thread(task, (next_ident,))
running = running + 1
mutex.release()
whmutex.acquire()
delay = whrandom.random() * numtasks
whmutex.release()
- print 'task', ident, 'will run for', delay, 'sec'
+ if verbose:
+ print 'task', ident, 'will run for', delay, 'sec'
time.sleep(delay)
- print 'task', ident, 'entering barrier', i
+ if verbose:
+ print 'task', ident, 'entering barrier', i
bar.enter()
- print 'task', ident, 'leaving barrier', i
+ if verbose:
+ print 'task', ident, 'leaving barrier', i
mutex.acquire()
running = running - 1
if running == 0: