程式可以理解為乙個**,它是靜態的,儲存在硬碟中,不占用資源,程式執行起來,就是程序,程序消耗資源,占用記憶體中,程序也可以完成多工。
程序耗費資源較多。
建立程序通過 import multiprocessing
p1=multiprocessing.process(target)
p1.start()
來建立程序
當主程序執行到p1.start()時,會建立子程序,有n個 例項物件.start()就會有n個程序被建立,相當於複製了完整的**。
乙個程式至少乙個程序,乙個程序至少乙個執行緒
執行緒的劃分尺度小於程序(資源比程序少),使得多執行緒程式的併發性高
執行緒必須依附於程序
import multiprocessing
import time
案例:
def test1()
:while true:
print
("-:-------1------"
)print
("sadsadsadsadsa"
)def test2()
:while true:
print
("--------2------"
)print
("sadsadsadsadsa"
)def main()
:
# 建立程序物件
p1 = multiprocessing.
process
(target = test1)
p2 = multiprocessing.
process
(target = test2)
# 開始建立程序
p1.start()
p2.start()
if __name__ ==
"__main__"
:main
()
import multiprocessing
import time
def test1
(q):
data=[11
,22,33
,44,55
,66]for temp in data:
q.put(temp)
def test2
(q):
list1=
while true:
data=q.
get(
) list1.
(data)
if q.
empty()
:break
print
(list1)
def main()
: # 建立佇列
q=multiprocessing.
queue()
# 建立程序物件
p1 = multiprocessing.
process
(target = test1, args=
(q,)
) p2 = multiprocessing.
process
(target = test2, args=
(q,)
) # 開始建立程序
p1.start()
p2.start()
if __name__ ==
"__main__"
:main
()
案例:
檔案的拷貝
import os
import multiprocessing
def copy_file
(dir_name,new_dir,new_file):""
"複製檔案"
""print
(dirname,new_dir,new_fie)
f=open
(dir_name+
"/"+new_file,
"rb"
) info=f.
read()
print
(info)
f.close
write_info
(info,new_dir,new_file)
def write_info
(info,new_dir,old_file)
: f=
open
(newdir+
"/"+new_file,
"w")
f.write
(info)
f.close()
def main()
: # 獲取目錄名
dir_name=
input
("請輸入要拷貝的資料夾名字:"
) # 建立資料夾
new_dir=dir_name+
"[新增]"
try:
os.mkdir
(new_dir)
except:
pass
# 獲取資料夾中的檔案
old_file=os.
listdir
(dir_name)
#print(old_file)
# 建立程序池
po=multiprocessing.
pool(3
)
# 拷貝檔案
for new_file in old_file:
# 採用程序池進行拷貝檔案
po.(copy_file, args=
(dir_name,new_dir,new_file)
) po.
close()
po.join()
if __name__ ==
"__main__"
:main
()
多工 程序
import time import multiprocessing deftest1 while true print 1 time.sleep 1 deftest2 while true print 2 time.sleep 1 defmain t1 threading.thread targe...
python 多工 程序
什麼是程序?程式是靜態的,當程式執行起來就叫做程序。程序是作業系統分配資源的基本單元。程序 執行緒的區別與優缺點 1.定義的不同 程序是系統進行資源分配的最小單位.執行緒是程序的乙個實體,是cpu進行排程的基本單位。執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源 如程式計數器,一組...
多工原理,執行緒,程序
一.現代作業系統 windows,mac os x,linux,unix等 都支援 多工 二.單任務現象 from time import sleep defrun while true print sunck is a nice man sleep 1.2 if name main while t...