Python threading(執行緒模組)

2022-10-09 20:45:10 字數 1125 閱讀 2789

建立和使用方式基本和程序一致。

有關執行緒的文字講述,請見:計算機——程序&執行緒&協程

import time

from threading import thread,current_thread,enumerate,active_count

def func(i1,i2):

i = i1+i2

time.sleep(0.5)

print(current_thread()) #檢視執行緒的id並以物件形式顯示,適用於函式使用,

for i in range(5):

t = thread(target=func,args=(i,i*2)) #傳值和程序一樣,需要使用元組形式進行傳輸。

t.start() #啟動也是需要使用start

print(t.ident) #可以檢視所建立的執行緒id,可以用在物件導向中使用。

t.daemon = true #建立守護執行緒。

print(enumerate()) #可以看到正在執行的主線程和子執行緒。以物件法師呈現在列表當中。

print(active_count()) #可以檢視子執行緒的個數,包括主線程。

執行緒+鎖的單例模式

from threading import thread,lock

class singleton(object):

instance = none

lock = lock()

def __new__(cls, *args, **kwargs):

with cls.lock:

if not cls.instance:

cls.instance = object.__new__(cls)

return cls.instance

for i in range(10):

print(singleton())

Python threading多執行緒

目錄1 2 lock encoding utf 8 import threading import time from queue import queue def thread 1 job print thread 1 start n for i in range 10 time.sleep 0....

簡述python(threading)多執行緒

一.概述 import threading 呼叫 t1 threading.thread target function args join 在子執行緒完成執行之前,這個子執行緒的父執行緒將一直被阻塞。setdaemon true 將執行緒宣告為守護執行緒,必須在start 方法呼叫之前設定,如果不...

python threading關於鎖的內容

鎖 import threading,time defaddnum global num lock.acquire 獲取鎖 temp num time.sleep 0.01 print ok num temp 1lock.release 釋放鎖 鎖保證執行緒沒有執行完cpu不會執行別的執行緒 num...