编程理论Gods Strike:Python 2.x中的target = foo是什么?

时间:2013-04-05 04:21:05

标签: python multithreading multiprocessing

通常我一直在浏览这个Q&一个网站,使用多线程和处理的答案告诉我使用这样的格式:

(target=foo, args=(bar, baz))

最常用于multiprocessingmultithreading(至少我的知识有限。)

我的问题是, target的含义是什么,有人可以解释它是如何使用的吗?

我无法在docs或其他地方找到一个好的解释。

2 个答案:

答案 0 :(得分:5)

target构造函数中的关键字参数threading.Thread设置新线程的入口点。这可以是具有__call__方法的函数或对象。

以下是使用函数的示例:

import threading

def foo(number, name):
    print 'Hello from new thread'
    print 'Here are some arguments:', number, name

thread = threading.Thread(target=foo, args=(5,'bar'))
thread.start()

thread.join()

答案 1 :(得分:0)

target只是在新线程/进程中调用的可调用对象。

来自threading documentation

  

targetrun()方法调用的可调用对象。默认为None,表示不调用任何内容。