Python高階(多執行緒)

2022-09-01 19:24:09 字數 1780 閱讀 9562

多執行緒結構

import

threading

def worker():#

子執行緒要執行的具體邏輯**函式

print('

threading')

t1 =threading.current_thread()

time.sleep(9)#

通過休眠模擬子執行緒非同步邏輯

print

(t1.getname())

new_t = threading.thread(target=worker,name='

dxc1

')#構建子執行緒

new_t.start()#

開啟子執行緒

t = threading.current_thread()#

構建主線程

print(t.getname())#

主線程的**執行不會受子執行緒的worker執行緒函式執行時間的影響

多執行緒隔離local

import

threading

from werkzeug.local import

local

my_obj = local()#

執行緒隔離物件

my_obj.b = 1

def worker():#

新執行緒工作函式

my_obj.b = 2

print('

in new thread b is:

' + str(my_obj.b))#

新執行緒中b是2

new_t = threading.thread(target=worker,name='

testthread')

new_t.start()

time.sleep(1)

#主線程

print('

in main thread b is:

' + str(my_obj.b))#

主線程中b是1

多執行緒隔離localstack

import

threading

from werkzeug.local import

localstack

my_stack = localstack()#

localstack保證兩個執行緒會有兩個棧,相互不干擾的執行緒隔離物件

my_stack.push(1)

#主線程

print('

in main thread after push,value is:

' + str(my_stack.top))#

1def worker():#

新執行緒print('

in new thread before push,value is:

' + str(my_stack.top))#

none

my_stack.push(2)

print('

in new thread after push,value is:

' + str(my_stack.top))#

2new_t = threading.thread(target=worker,name='

testthread')

new_t.start()

time.sleep(1)

#主線程

print('

finally in main thread,value is

' + str(my_stack.top))#

1

python高階 多執行緒

1.1 獲取執行緒數 import threading import time def fun time.sleep 1 print hello t threading.thread target fun t.start print threading.enumerate while true le...

Python高階 多執行緒 05 執行緒

併發 時間段內多個程式輪流執行 並行 同乙個時刻不同cpu同時執行 執行緒 程式執行中,執行 的乙個分支。每個執行至少都有乙個執行緒.執行緒是作業系統排程資源的基礎單位 1.建立 import threading 方法 thread group 執行緒組,目前只能使用none target 執行的目...

python高階 七 多執行緒併發

一 併發和並行 併發 任務數 cpu核數,通過系統的各任務排程演算法,來回切換,實現多個任務 一起 執行,實際上不是真正同時一起執行,只是切換執行的速度相當快,看上去是一起執行的而已 並行 任務數 cpu核數,是真正的一起同時執行。同步 同步是指 呼叫io操作時,必須等待io操作完成返回才呼叫的方式...