threading.Thread(target,args=(i,))

转:https://blog.csdn.net/chpllp/article/details/54381141

先来看这段代码:

import threading

import time

def worker():

    print “worker”

   time.sleep(1)

   return

for i in xrange(5):

     t = threading.Thread(target=worker)

     t.start()

这段代码就使用了多线程,但是没法传递参数,而实际使用多线程,往往是需要传递参数的,于是问了一位群里的网友后,知道可以这么写实现传递参数的多线程:

import threading

import time

def worker(number):

    print “worker”

    time.sleep(number)

    return

for i in xrange(5):

    t = threading.Thread(target=worker,args=(i,))

    t.start()

第一个参数是线程函数变量,第二个参数args是一个数组变量参数,如果只传递一个值,就只需要i, 如果需要传递多个参数,那么还可以继续传递下去其他的参数,其中的逗号不能少,少了就不是数组了,就会出错

你可能感兴趣的:(threading.Thread(target,args=(i,)))