python多執行緒基礎教程

2021-10-22 20:54:50 字數 2403 閱讀 5414

為什麼要用多執行緒呢,有多程序不就可以實現多工程式設計了嗎?

試想一下當我們用qq和朋友聊天的時候,多執行緒相當於開啟多個視窗與多個好友同時進行聊天。

而多程序相當於要在乙個電腦上登入多個qq程式進行聊天,乙個qq程序與乙個好友聊天。

# 多執行緒例項

import time

import threading

defsing()

:for i in

range(3

):print

("唱歌..."

) time.sleep(

0.5)

defdance()

:for i in

range(3

):print

("跳舞..."

) time.sleep(

0.5)

if __name__ ==

'__main__'

: sing_threading=threading.thread(target=sing)

dance_threading = threading.thread(target=dance)

sing_threading.start(

) dance_threading.start(

)

# 傳引數與多程序相似

ar**

kwar**

# 設定守護子執行緒

sing_threading=threading.thread(target=sing,daemon=

true

)sing_threading.setdaemon(

true

)

多執行緒之間執行是無序的
# 案例

# -*- conding = utf-8 -*-

# @time: 2021/3/23 19:47

# @author: tdl

# @file: 多執行緒案例.py

# @sortware: pycharm

import os

import threading

defcopy_file

(file_name, source_dir, dest_dir)

:# 1 拼接原始檔路徑和目標檔案路徑

source_path = source_dir +

'\\'

+ file_name

dest_path = dest_dir +

'\\'

+ file_name

# 2 開啟原始檔和目標檔案

with

open

(source_path,

'rb'

)as source_file:

with

open

(dest_path,

'wb'

)as dest_file:

# 3 迴圈讀取原始檔到目標路徑

while

true

: data = source_file.read(

1024

)if data:

dest_file.write(data)

else

:break

if __name__ ==

'__main__'

:# 1 定義源資料夾和目標資料夾

source_dir = r'e:\學習\現代軟體工程'

dest_dir= r'e:小滕'

# 2.建立目標資料夾

try:

os.mkdir(dest_dir)

except

:print

("目標資料夾已經存在"

)# 3.讀取源資料夾的檔案列表

file_list = os.listdir(source_dir)

# 4.遍歷檔案列表實現拷貝

for file_name in file_list:

# copy_file(file_name, source_dir, dest_dir)

# 5.使用多執行緒實現多工拷貝

sub_thread = threading.thread(target=copy_file, args=

(file_name, source_dir, dest_dir)

) sub_thread.start(

)

多執行緒基礎教程

多執行緒基礎 使用thread關鍵字 thread t thread.currentthread 來獲取當前執行緒 使用執行緒.getname來獲取執行緒名稱。使用執行緒.getid來獲取執行緒id 使用執行緒.start 來啟動執行緒 建立子執行緒有兩種方式 1.使用類繼承thread的方式 2....

python基礎教程

乙個簡單的客戶機 import socket s socket.socket host socket.gethostname port 1234 s.bind host,port s.listen 5 while true c,addr s.accept print got connection f...

Python基礎教程

本教程不包括python的安裝,ide採用spyder pytho2.7 1.print pow 2,3 8 print 2 3 8這裡pow函式表示乘方,與 功能相同。2.abs 10 10abs函式用來求乙個數的絕對值。3.round 0.6 1.0 round 0.4 0.0round函式將浮...