相关疑难解决方法(0)

多处理与线程Python

我试图了解多处理优于线程的优势.我知道多处理可以解决Global Interpreter Lock问题,但是还有什么其他优点,并且线程不能做同样的事情?

python multithreading multiprocessing

739
推荐指数
10
解决办法
32万
查看次数

如何在Python中使用线程实现真正的并行性?

我正在学习Python中的线程库。我不明白,如何并行运行两个线程?

这是我的python程序:

没有线程的程序(fibsimple.py

def fib(n):
    if n < 2:
        return n
    else: 
        return fib(n-1) + fib(n-2)

fib(35)
fib(35)

print "Done"
Run Code Online (Sandbox Code Playgroud)

运行时间:

$ time python fibsimple.py 
Done

real    0m7.935s
user    0m7.922s
sys 0m0.008s
Run Code Online (Sandbox Code Playgroud)

带有线程的相同程序(fibthread.py

from threading import Thread
def fib(n):
    if n < 2:
        return n
    else: 
        return fib(n-1) + fib(n-2)

t1 = Thread(target = fib, args = (35, ))
t1.start()

t2 = Thread(target = fib, args = (35, ))
t2.start()

t1.join()
t2.join()

print "Done"
Run Code Online (Sandbox Code Playgroud)

运行时间:

$ …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing python-multithreading python-multiprocessing

6
推荐指数
1
解决办法
802
查看次数