知識點:(1)什麼叫程序? 舉個例子:電腦上qq,是乙個exe二進位制檔案,存在磁碟裡的,這叫程式,當我們雙擊開啟qq時,作業系統呼叫**以及系統分配的資源(資源包括攝像頭,記憶體,顯示卡,音效卡等等),這時程序就產生了,簡單說程序啟動的程式就是執行**+資源,沒有啟動的時候就是乙個二進位制檔案,不呼叫任何系統資源.
(2)特別要注意,不要與執行緒搞混淆,看下圖:
1、在程式中實現多程序:
"""2、那麼上面多程序程式工作原理是怎樣的呢?看下圖就明白了:中的解釋可能字太小,我把拷貝出來:當**執行到箭頭處,即建立子程序的時候,會將1的**+資源拷貝乙份放到乙個新的記憶體中去執行這個子程序。2,3倆個子程序都有乙份和1主程序中一模一樣的**+資源,這就是通過程序實現多工原理。由此也可以看出多程序實現多工有幾個特點:1、是比較耗費系統資源的,因為每個子程序都有雨主程序相同的系統分配的資源2、程式穩定,因為每個程序都是獨立執行的,主程序結束也不影響子程序的執行,因為都有乙份一摸一樣的**匯入程序模組
"""import
multiprocessing
import
time
deftest1():
for i in range(5):
print('
test1')
time.sleep(1)
deftest2():
for i in range(5):
print('
tetst2')
time.sleep(1)
"""建立多程序其實和多執行緒模式是一樣的,只是使用到的模組和類不一樣
"""def
main():
t1 = multiprocessing.process(target=test1)
t2 = multiprocessing.process(target=test2)
t1.start()
t2.start()
if__name__ == '
__main__':
main()
執行效果如下:
test1
tetst2
test1
tetst2
test1
tetst2
test1
tetst2
test1
tetst2
3、補充的知識點:如何在建立程序物件的時候往程序函式裡傳參呢?看下面**示例:
def test1(a,b,c,d,*args,**kwargs):(a,b,c,d)
(args)
(kwargs)
deftest2():
pass
defmain():
t1 = multiprocessing.process(target=test1,args=(1,2,3,4,5,6),kwargs=)
t1.start()
if__name__ == '
__main__':
main()
執行效果:
1 2 3 4
(5, 6)
網路程式設計之 程序
首先博主在這裡先告訴大家博主學習的書籍是由 韓 韓聖雨 著 金國哲 譯 的 tcp ip網路程式設計,把網路變成寫的通俗易懂。那麼我們就開始吧!我們就能利用時鐘中斷讓各個程式來占用cpu的一部分從而完成併發 由於人的視覺間隔較大,所以在我們看來這就是一起執行的,但是在計算機內部不是這樣的,計算及內部...
3 9 學網路程式設計 程序
1.程序 多執行緒實現不了真正的多執行緒 多程序 第一種方法 from multiprocessing import process deff name time.sleep 1 print yanga11ang name if name main ps for i in range 3 p pro...
Linux 網路程式設計 守護程序
啥是守護程序?就是沒有終端的那個框框。沒有框框咋啟動?1.開機在系統啟動後,由系統初始化指令碼啟動。位於 etc的某個目錄中 2.由使用者在終端啟動。程式有無終端的一些影響?1.無訊息列印,需要syslog函式。2.其它影響可以在建立的過程中領悟到。開始寫乙個守護程序?1.fork 終止父程序,子程...