擅长:python、mysql、java
<p>我给你看看。你知道吗</p>
<p>让我们定义一些测试函数。当它被点燃时会打印出来</p>
<pre><code>>>> def test():
... print "fired!"
...
</code></pre>
<p>现在让我们来定义线程。你知道吗</p>
<pre><code>>>> Thread(target=test)
<Thread(Thread-1, initial)>
>>> Thread(target=test())
fired!
<Thread(Thread-2, initial)>
</code></pre>
<p>你能看见吗?当您编写时,<code>test()</code>函数在您启动线程之前被激发。但是如果我们尝试运行这个线程会发生什么呢?你知道吗</p>
<pre><code>>>> thread1.start()
fired!
</code></pre>
<p>很好</p>
<pre><code>>>> thread2.start()
>>>
</code></pre>
<p>什么都没有。这是因为当您编写<code>Thread(target=test)</code>时,您将测试函数的一个实例作为参数传递。写<code>Thread(target=test())</code>时传递<code>test()</code>函数执行的结果(<code>None</code>):)</p>