擅长:python、mysql、java
<p>绕过GIL的唯一方法是使用<a href="https://docs.python.org/2/library/multiprocessing.html" rel="nofollow noreferrer">multiprocessing</a>。你知道吗</p>
<pre><code>from multiprocessing import Process
def asynch_part(i):
print("I want this part to work asynchronously :(")
k = 0;
while(k<1e8):
k+=1
yield "Hi" # +" from " + str(i)
if __name__ == '__main__':
p=[]
for i in range(5): # I am keeping the processes listed and trackable,
# perhaps you do not care. os.getpid() tracks them anyway
p[i] = Process(target=asynch_part, args=(i))
p[i].start()
for i in range(5):
p[i].join()
</code></pre>
<p>因此,在上面的代码中,asyncgen作为并行进程独立运行了5次。然后在节目结束前加入。保持一个列表p只是一个说明。你知道吗</p>