Python知識分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python多線程編程篇教程(實例)PDF 下載
發(fā)布于:2024-02-16 11:25:28
(假如點擊沒反應(yīng),多刷新兩次就OK!)

Python多線程編程篇教程(實例)PDF 下載 圖1

 

 

資料內(nèi)容:

 

多線程編程


其實創(chuàng)建線程之后,線程并不是始終保持一個狀態(tài)的,其狀態(tài)大概如下:

     New 創(chuàng)建
     Runnable 就緒。等待調(diào)度
     Running 運行
     Blocked 阻塞。阻塞可能在 Wait Locked Sleeping
      Dead 消亡

線程有著不同的狀態(tài),也有不同的類型。大致可分為:
      主線程
      子線程
      守護(hù)線程(后臺線程)
       前臺線程
簡單了解完這些之后,我們開始看看具體的代碼使用了。

 

1、線程的創(chuàng)建

 

Python 提供兩個模塊進(jìn)行多線程的操作,分別是 thread 和 threading
前者是比較低級的模塊,用于更底層的操作,一般應(yīng)用級別的開發(fā)不常用。
因此,我們使用 threading 來舉個例子:

 

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import time
import threading
class MyThread(threading.Thread):
def run(self):
for i in range(5):
print('thread {}, @number: {}'.format(self.name, i))
time.sleep(1)
def main():
print("Start main threading")
# 創(chuàng)建三個線程
threads = [MyThread() for i in range(3)]
# 啟動三個線程
for t in threads:
t.start()
print("End Main threading")
if __name__ == '__main__':
main()

 

運行結(jié)果:

 

Start main threading
thread Thread-1, @number: 0
thread Thread-2, @number: 0
thread Thread-3, @number: 0
End Main threading
thread Thread-2, @number: 1
thread Thread-1, @number: 1
thread Thread-3, @number: 1
thread Thread-1, @number: 2
thread Thread-3, @number: 2
thread Thread-2, @number: 2
thread Thread-2, @number: 3
thread Thread-3, @number: 3
thread Thread-1, @number: 3
thread Thread-3, @number: 4
thread Thread-2, @number: 4
thread Thread-1, @number: 4

 

注意喔,這里不同的環(huán)境輸出的結(jié)果肯定是不一樣的。