環境:win7+python2.7
一直想學習多進程或多線程,但之前只是單純看一點基礎知識還有簡單的介紹,無法理解怎么去應用,直到前段時間看了github的一個爬蟲項目涉及到多進程,多線程相關內容,一邊看一邊百度相關知識點,現在把一些相關知識點和一些應用寫下來做個記錄.
首先說下什么是進程:進程是程序在計算機上的一次執行活動,當運行一個程序的時候,就啟動了一個進程.而進程又分為系統進程和用戶進程.只要是用于完成操作系統的各種功能的進程就是系統進程,它們就是處于運行狀態下的操作系統本身;而所有由你啟動的進程都是用戶進程。進程是操作系統進行資源分配的單位。
直觀點說,在任務管理器的用戶名上標明system的是系統進程,標明administrator的是用戶進程,另外net是網洛,lcacal service是本地服務,關于進程更加具體的信息可以百科,這里得省點力氣,不然收不回了.
一.多進程的簡單使用
如圖,multiprocessing有多個函數,很多我也還沒去了解,這里只講我目前了解的.

進程創建:Process(target=主要運行的函數,name=自定義進程名稱可不寫,args=(參數))
方法:
- is_alive():判斷進程是否存活
- join([timeout]):子進程結束再執行下一步,timeout為超時時間,有時進程遇到阻塞,為了程序能夠運行下去而設置超時時間
- run():如果在創建Process對象的時候不指定target,那么就會默認執行Process的run方法
- start():啟動進程,區分run()
- terminate():終止進程,關于終止進程沒有這么簡單,貌似用psutil包會更好,有機會以后了解更多再寫下。
其中,Process以start()啟動某個進程。
屬性:
- authkey: 在文檔中authkey()函數找到這么一句話:Set authorization key of process設置過程的授權密鑰 ,目前沒找到相關應用實例,這個密鑰是怎么用的呢?文章不提
- daemon:父進程終止后自動終止,且自己不能產生新進程,必須在start()之前設置
- exitcode:進程在運行時為None、如果為
主站蜘蛛池模板:
嘉兴市|
额济纳旗|
静乐县|
五家渠市|
延庆县|
化州市|
满城县|
揭西县|
喀喇|
静乐县|
香格里拉县|
曲阜市|
曲水县|
许昌县|
海城市|
深水埗区|
巴楚县|
新兴县|
察隅县|
霍山县|
奇台县|
桦南县|
竹北市|
当阳市|
保山市|
泗洪县|
阜康市|
山东|
从化市|
南涧|
屯留县|
闽清县|
普宁市|
富平县|
乌鲁木齐县|
奉节县|
乐至县|
上杭县|
贡山|
通化市|
柯坪县|