python—進程和多進程

1. 什麼是進程

我們想通過網易雲聽歌,具體的過程應該是先找到酷我應用程序,然後雙擊就會播放音樂。
當我們雙擊的時候,操作系統將程序裝載到內存中,操作系統爲它分配資源,然後才能運
行。運行起來的應用程序就稱之爲進程。

也就是說當程序不運行的時候我們稱之爲程序,當程序運行起來他就是一個進程。通俗的理解就是不運行的時候是程序,運行起來就是進程。

程序和進程的對應關係是:程序只有一個,但是進程可以有多個。

例:

import os
import time

def sing():
    for i in range(3):
        time.sleep(2)
        print("唱第{}首歌".format(i+1))

def dance():
    """跳舞函數"""
    for i in range(3):
        time.sleep(3)
        print("跳第{}段舞".format(i+1))
def main():
    sing()
    dance()

if __name__ == '__main__':
    main()
    print(os.getpid())

#先唱完歌,再跳舞,是一個串行操作
#想邊唱歌邊跳舞,並行操作,操作效率高
#單核CPU在任何時候只能執行一個任務

多進程:

from multiprocessing import Process

import time

def sing():
    for i in range(3):
        # time.sleep(3)
        print("唱%d首歌" % (i+1))
def dance():
    for i in range(3):
        # time.sleep(3)
        print("跳%d段舞" % (i+1))

if __name__ == '__main__':
    #2.創建進程
    p1=Process(target=sing)#創建進程怕,執行sing函數
    p2=Process(target=dance)
    start= time.time()
    #3.啓動進程
    p1.start()
    p2.start()
    end=time.time()
    #dance()
    date = end-start
    print(date)
1首歌
跳1段舞
唱2首歌
唱3首歌
跳2段舞
跳3段舞

連唱帶跳~~~

發佈了37 篇原創文章 · 獲贊 49 · 訪問量 4060
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章