為什麼要用多執行緒呢,有多程序不就可以實現多工程式設計了嗎?
試想一下當我們用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函式將浮...