Start threads : Thread « 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 » Thread 
17.1.6.Start threads
import threading
from time import sleep, ctime

loops = [4,2]

class ThreadFunc(object):
    def __init__(self, func, args, name=''):
        self.name = name
        self.func = func
        self.args = args

    def __call__(self):
        apply(self.func, self.args)

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

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

for i in nloops: # create all threads
    t = threading.Thread(target=ThreadFunc(loop, (i, loops[i]),loop.__name__))
    threads.append(t)

for i in nloops: # start all threads
    threads[i].start()

for i in nloops: # wait for completion
    threads[i].join()

print 'all DONE at:', ctime()
17.1.Thread
17.1.1.First thread example
17.1.2.Start threads to print time at different intervals
17.1.3.Loops Executed by a Single Thread
17.1.4.Sleep in a thread
17.1.5.Join threads
17.1.6.Start threads
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.