千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > pythonGIL在Python多線程的應(yīng)用

pythonGIL在Python多線程的應(yīng)用

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-13 13:56:03 1699854963

GIL在Python多線程的應(yīng)用

1、說明

GIL對(duì)I/O綁定多線程程序的性能影響不大,因?yàn)榫€程在等待I/O時(shí)共享鎖。

GIL對(duì)計(jì)算型綁定多線程程序有影響,例如:使用線程處理部分圖像的程序,不僅會(huì)因鎖定而成為單線程,而且還會(huì)看到執(zhí)行時(shí)間的增加,這種增加是由鎖的獲取和釋放開銷的結(jié)果。

2、實(shí)例

順序執(zhí)行單線程(single_thread.py)

importthreading

importtime

deftest_counter():

i=0

for_inrange(100000000):

i+=1

returnTrue

defmain():

start_time=time.time()

fortidinrange(2):

t1=threading.Thread(target=test_counter)

t1.start()

t1.join()

end_time=time.time()

print("Totaltime:{}".format(end_time-start_time))

if__name__=="__main__":

main()

以上就是GIL在Python多線程的應(yīng)用,希望能對(duì)大家有所幫助,更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT