Python之多執行緒,鎖demo

2021-08-01 13:42:45 字數 1406 閱讀 6638

# -*- coding: utf-8-*-

import datetime

import time

import threading

import sys

reload(sys)

sys.setdefaultencoding( "utf-8" )

threadlock = threading.lock()

class threaddemo(threading.thread):

def __init__(self, t_name):

threading.thread.__init__(self, name=t_name)

self.name=t_name

def run(self):

# 加鎖 #這裡執行緒執行的方法如果會引發高併發,就是同一時刻多個執行緒操作同乙個物件導致資料不準確,那麼就需要加鎖處理來保證資料的準確性

# 因為我這裡執行緒要執行的任務只是輸出當前時間,那麼就不需要加鎖了

#threadlock.acquire()

# 執行緒需要執行的方法

print '執行緒' + self.name + '啟動,當前時間',str(datetime.datetime.now())+'\n'

# 釋放鎖

#threadlock.release()

time.sleep(1)

def main():

try:

totalthread = 1000 # 需要建立的執行緒數量

threads = # 建立執行緒列表

for i in range(totalthread):

demo = threaddemo("threaddemo-%s" % str(i))

for i in range(totalthread):

threads[i].start()

#print '執行緒' + str(i) + '啟動'

for t in threads:

t.join()

print '執行緒' + t.name + '終止'

except exception,e:

print e

if __name__ == '__main__':

main()

print '子執行緒執行完畢,主線程終止!'

Python之多執行緒

1 呼叫thread模組中的start new thread 函式來產生新執行緒 thread.start new thread function,args kwargs function 執行緒函式。args 傳遞給執行緒函式的引數,他必須是個tuple型別。kwargs 可選引數。2 使用thr...

python之多執行緒

學習了一下多執行緒 用到爬蟲裡面簡直爽歪歪呀 定義就很簡單,為了實現高併發,能夠同時在乙個指令碼下執行多個程式,節約時間 新增執行緒用到的 import threading as td def sum num1,num2 sum num1 num2 print sss sum def divided...

python之多執行緒

我們在商超買東西時,當只有乙個收銀台時,會導致排很長的隊。如果有多個收銀台同時工作的話,會大大提高效率。這是生活中的多執行緒,即多個執行緒同時工作。我們接下來用 案例講解多執行緒與單執行緒的區別。單執行緒即在程式執行過程中,按照一定的先後順序執行。多執行緒即多個事件同時發生。單執行緒 import ...