在python中建立程序有兩種方式,第一種是:
from multiprocessing import process
import time
def test():
while true:
print('---test---')
time.sleep(1)
if __name__ == '__main__':
p=process(target=test)
p.start()
while true:
print('---main---')
time.sleep(1)
上面這段**是在windows下跑的,通過process類可以建立乙個程序物件,然後p.start()即可開啟程序,test函式是你想程序實現的功能。
第二種方式是:
from multiprocessing import process
import time
class mynewprocess(process):
def run(self):
while true:
print('---1---')
time.sleep(1)
if __name__=='__mian__':
p = mynewprocess()
# 呼叫p.start()方法,p會先去父類中尋找start(),然後在process的start方法中呼叫run方法
p.start()
while true:
print('---main---')
time.sleep(1)
這裡是第二種建立程序的方式,通過子類繼承process類,子類中必須有run方法,裡面實現程序功能,建立子類物件之後,呼叫物件的start方法。
下面來說一下程序池,就是實現已經建立好的程序
# 程序池
from multiprocessing import pool
import os
import random
import time
def worker(num):
for i in range(5):
print('===pid=%d==num=%d='%(os.getpid(),num))
time.sleep(1)
# 3表示程序池中最多有三個程序一起執行
pool=pool(3)
for i in range(10):
print('---%d---'%i)
# 向程序中新增任務
# 注意:如果新增的任務數量超過了程序池中程序的個數的話,那麼就不會接著往程序池中新增,如果還沒有執行的話,他會等待前面的程序結束,然後在往
# 程序池中新增新程序
pool.close() # 關閉程序池
pool.join() # 主程序在這裡等待,只有子程序全部結束之後,在會開啟主線程
python建立程序的兩種方式
執行緒內的任務不會同時執行,可以解決的方法是在每個程序裡面執行乙個執行緒,可以實現。gil的限制 multiprocessing管理程序的包,threading.thread用來管理執行緒 程序可以解決併發,但是相關的訊息無法互動,需要借助別的例如pipe和queue 但是在使用的時候仍有資源的消耗...
python threading 兩種建立方式
作用 建立在thread模組之上,可以更容易地管理多個執行執行緒。通過使用執行緒,程式可以在同乙個程序空間併發地執行多個操作。threading模組建立在thread的底層特性基礎上,可以更容易地完成執行緒處理。1 呼叫函式 要使用thread,最簡單的方法就是用乙個目標函式例項化乙個thread物...
python 多程序的兩種建立方式
python中使用執行緒有兩種方式 函式或者用類來包裝執行緒物件。第一種 函式 import time import threading defcoding for x in range 3 print 正在寫 s threading.current thread 獲取程序名字 time.sleep...