<p>首先,我建议您重新考虑使用线程。在大多数情况下,在Python中应该使用<a href="https://docs.python.org/2/library/multiprocessing.html" rel="nofollow">multiprocessing</a>。。这是因为Python的<a href="https://wiki.python.org/moin/GlobalInterpreterLock" rel="nofollow">GIL</a>。<br/>
除非您使用的是<a href="http://www.jython.org/" rel="nofollow">Jython</a>或<a href="http://ironpython.net/" rel="nofollow">IronPython</a>。<br/><br/>
如果我理解正确,只需在已打开的线程中打开另一个线程:<br/></p>
<pre><code>import threading
class FooThread(threading.Thread):
def __init__(self, consType, consTemp):
super(FooThread, self).__init__()
self.consType = consType
self.consTemp = consTemp
def run(self):
print 'FooThread - I just started'
# here will be the implementation of the foo function
class Concurrent(threading.Thread):
def __init__(self, consType, consTemp):
super(Concurrent, self).__init__()
self.consType = consType
self.consTemp = consTemp
def run(self):
print 'Concurrent - I just started'
threadFoo = FooThread('consType', 'consTemp')
threadFoo.start()
# do something every X seconds
if __name__ == '__main__':
thread = Concurrent('consType', 'consTemp')
thread.start()
</code></pre>
<p>程序输出为:<br/></p>
<blockquote>
<p>Concurrent - I just started<br/>FooThread - I just started</p>
</blockquote>