python3 多執行緒簡單學習

2021-08-21 13:45:03 字數 2158 閱讀 5389

學習多執行緒表面上可以理解為提高效率,充分利用資源。

python有兩個模組可以學習,乙個是比較簡單的_thread模組,另乙個是提供比較多整合方法的threading模組(推薦)。

_thread.start_new_thread(func,args[,kargs]) : 第乙個引數是執行緒函式,第二個是傳遞給執行緒函式的引數,第三個是可選引數

import _thread

import time

def print_time(threadname,delay):

count = 0

while count < 5:

time.sleep(delay)

count += 1

print("%s:%s" % (threadname,time.ctime(time.time())))

try:

_thread.start_new_thread(print_time,("thread-1",2,) )

_thread.start_new_thread(print_time,("thread-2",4,) )

except:

print("error:無法啟動執行緒")

while 1:

pass

包含_thread的所有方法

threading.currentthread():返回當前執行緒變數

threading.enumerate():返回包含正在執行的執行緒的list

threading.activecount():返回正在執行的執行緒的數量

物件方法:

run():用來表示執行緒活動的方法

start():啟動執行緒

join(time):可新增超時設定

isalive():返回執行緒是否活動的

getname():返回執行緒名字

setname():設定執行緒名字

import threading

import time

exitflag = 0

class mythread(threading.thread):

def __init__(self,threadid,name,counter):

threading.thread.__init__(self)

self.threadid = threadid

self.name = name

self.counter = counter

def run(self):

print("開始執行緒:"+self.name)

print_time(self.name,self.counter,5)

print("退出執行緒:"+self.name)

def print_time(threadname,delay,counter):

while counter:

print(threading.current_thread)

print(threading.enumerate)

print(threading.activecount)

if exitflag:

threadname.exit()

time.sleep(delay)

print("%s:%s" % (threadname,time.ctime(time.time())))

counter -= 1

thread1 = mythread(1,"thread-1",1)

thread2 = mythread(2,"thread-2",2)

thread1.start()

thread2.start()

thread1.join()

thread2.join()

print(thread1.isalive())

print(threading.current_thread)

print(threading.enumerate)

print("退出主線程")

建立鎖物件:

threadlock = threading.lock()
獲取鎖:

threadlock.acquire()
釋放鎖:

threadlock.release()

Python3多執行緒

學習python執行緒 python3 執行緒中常用的兩個模組為 thread threading 推薦使用 thread 模組已被廢棄。使用者可以使用 threading 模組代替。所以,在 python3 中不能再使用 thread 模組。為了相容性,python3 將 thread 重新命名為...

python3 多執行緒

多執行緒簡介 執行緒 thread 也稱輕量級程序,時作業系統能夠進行運算排程的最小單位,它被包涵在程序之中,時程序中的實際運作單位。執行緒自身不擁有資源,只擁有一些在執行中必不可少的資源,但他可與同屬乙個程序的其他執行緒共享程序所擁有的全部資源。乙個執行緒可以建立和撤銷另乙個執行緒,同一程序中的多...

Python3多執行緒操作簡單示例

python3 執行緒中常用的兩個模組為 thread threading 推薦使用 thread 模組已被廢棄。使用者可以使用 threading 模組代替。所以,在 python3 中不能再使用 thread 模組。為了相容性,python3 將 thread 重新命名為 thread test...