python 多執行緒總結(一)

2021-06-26 16:02:00 字數 1513 閱讀 6330

使用python已經有段時間了,一直想學一下多執行緒程式設計,一直被耽擱,這次好好學習一下,寫篇部落格,作為以後的參考,好記性不如爛筆頭,這句話的理解越來越深刻。參考《python 標準庫》,來寫這篇文章的,有不足的地方,大家可以提出。

python多執行緒有多種方法,這裡只是寫threading的方法,個人覺得,學會一種其他的就容易理解,現在開始正文。

一、thread物件。使用thread最簡單的方法就是用乙個目標函式例項化乙個thread物件,並呼叫start()讓它開始工作,**如下:

import threading

import time

def worker():

print 'worker'

time.sleep(1)

threads =

for i in range(5):

t = threading.thread(target = worker)

t.start()

結果如下:

worker

worker

worker

worker

worker

[finished in 1.2s]

解釋:很簡單的,呼叫了5個執行緒,執行了worker函式,並且列印出worker,有興趣的同學,可以不使用執行緒,只是迴圈5次呼叫worker函式,列印worker,執行時間較長,多執行緒的效率高很多。多執行緒的原理就是主函式只要建立執行緒就可以了,執行緒來執行函式,所以建立執行緒時間很短。而不使用多執行緒的情況,主函式需要在每次迴圈中呼叫worker函式,列印worker結束後,才能執行第二次迴圈,然後再列印,以此類推,所以執行時間較長,個人認為這是多執行緒的思想,以前不理解,所以記錄下來,有錯誤的請大家指正。

二,傳遞引數。建立乙個執行緒,並且向它傳遞引數,告訴它需要完成什麼工作,這會很有用,下面的**就是傳遞了乙個引數,執行緒列印出這個引數,**如下:

import threading

import time

def worker(num):

print 'worker: ',str(num)

time.sleep(1)

threads =

for i in range(5):

結果如下:

worker:  0

worker:  1

worker:  2

worker:  3

worker:  4

[finished in 1.4s]

解釋:**很簡單,應該很容易看的懂,這個地方著重注意是傳遞引數的方法,args = (),務必注意是傳遞的元組,如果只有乙個引數,則需要注意引數後加","。

未完待續

python多執行緒總結

1.定義幾個想在不同執行緒執行的函式 import threading from time import ctime,sleep defmusic a for i in range 2 print listen music s s a,ctime sleep 1 2.建立執行緒池 threads t...

python多執行緒 Python多執行緒的一些知識

了更好地體驗多執行緒爬蟲,本章先介紹下需要了解的知識點,以便後續的多執行緒爬蟲文章有更好的理解與學習。在接下來要講的知識點中,感興趣的讀者們請先弄清楚程序和執行緒兩者是什麼?它們各自有著什麼樣的關係呢?讀下廖雪峰老師簡單介紹的例子,比喻非常生動清晰,故這裡不多做講解。程序和執行緒 www.liaox...

多執行緒學習總結(一) 認識多執行緒

而唯一看到的多執行緒 也是再專案中看到了別人寫的多執行緒 那時想要寫乙個和多執行緒相關的 基本是一模一樣的仿照著寫,出了一點問題也搞不懂問題在 所以就一直迷迷糊糊了一段時間,後來感覺有必要把這塊搞懂,就自己慢慢的找資料學習了。廢話就講這麼多,其實要學習多執行緒相關的,首先要搞清楚乙個概念,什麼是執行...