python 單執行緒和多執行緒對比

2021-10-03 04:45:26 字數 1115 閱讀 1923

import time

import threading

from mythread import mythread

def fib(x):

time.sleep(0.0005)

if x<2:

return 1

return (fib(x-2)+fib(x-1))

def fac(x):

time.sleep(0.1)

if x<2:

return 1

return(x*fac(x-1))

def sum(x):

time.sleep(0.1)

if x<2:

return 1

return (x+sum(x-1))

funcs = [fib,fac,sum]

n = 12

def main():

nfuncs = range(len(funcs))

print('***single thread')

for i in nfuncs:

print('starting',funcs[i].__name__,'at:',time.ctime())

print(funcs[i](n))

print(funcs[i].__name__,'finished at:', time.ctime())

print('\n*** multiple thread')

threads =

for i in nfuncs:

t = mythread(funcs[i],(n,),funcs[i].__name__) #此處使用了子類呼叫執行緒的方法,需要注意,執行緒的變數需要是元組形式,因此此處需要使用(n,)

for i in nfuncs:

threads[i].start()

for i in nfuncs:

threads[i].join()

print(threads[i].getresult()) #mythread中已經重新定義了run()方法,可以計算res,通過getresult返回res結果

print('all done')

單執行緒和多執行緒

what 1.程序 當乙個程式開始執行時,它就是乙個程序,程序包括執行中的程式和程式所使用到的記憶體和系統資源。2.執行緒 執行緒就是程式中的乙個執行流,每個執行緒都有自己的專有暫存器 棧指標 程式計數器等 但 是可以共享的,即不同的執行緒可以執行相同的函式。3.多執行緒 多執行緒是指程式中包含多個...

單執行緒和多執行緒

普通的程式預設都是單執行緒,程式的執行方式是從上至下序列執行,示例 import time deffunc a,b time.sleep 1 print a b s time.time func 5,10 func 2,5 func 6,84 func 9,46 e time.time print ...

單執行緒 多執行緒

1.基於python的單執行緒示例 from time import ctime,sleep import time def play video video for i in range 2 print i am playing video s at s video,ctime sleep 5 d...