擅长:python、mysql、java
<p>尝试使用<a href="http://www.gevent.org/" rel="nofollow">gevent</a>生成多个greenlets,允许您使用其他CPU。这里有一个你的例子。请注意,队列用于跨gevent的上下文切换正常工作</p>
<pre>import greenlet
import gevent
from gevent import monkey
monkey.patch_all()
def dotheprocess(sentences):
queue = gevent.queue.Queue()
#called by each thread
def task(asentence):
thesentence = processsentence(asentence[0],asentence[1],asentence[2],asentence[3],asentence[4],asentence[5],asentence[6],asentence[7],asentence[8])
queue.put((asentence,thesentence))
threads = [gevent.spawn(task, asentence) for asentence in sentences]
gevent.joinall(threads)
return queue
#call the dotheprocess function with your sentences</pre>