中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中fock()函數的使用方法

發布時間:2020-08-07 10:11:31 來源:億速云 閱讀:159 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Python中fock()函數的使用方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

首先,在python中我們要實現多進程,有兩個模塊可以用:
1)os中的fork()函數
2)multiprocessing模塊

fork()函數

函數原型:

Help on built-in function fork in module posix:
fork(...)
    fork() -> pid
    Fork a child process.
    Return 0 to child process and PID of child to parent process.

從fork()函數原型來看,它也屬于一個內建函數。 

子進程永遠返回0,而父進程返回子進程的ID。這樣做的理由是,一個父進程可以fork()出很多子進程,所以,父進程要記下每個子進程的ID,而子進程只需要調用getppid()就可以拿到父進程的ID。

Python的進程函數fork()是在os模塊,下面是一個關于進程的例子:

import os
print os.getpid() #獲取子進程的進程號
pid = os.fork()
if pid == 0 :
  print 'I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid())
else :
  print 'I (%s) just created a child process (%s).' % (os.getpid(), pid)

執行結果:

1526
I (1526) just created a child process (1527).
I am child process (1527) and my parent is 1526.

有了fork調用,一個進程在接到新的任務時,就可以復制出一個子進程來處理新任務。常見的Apache服務器就是由父進程監聽端口,一旦有新的http請求時,就fork出子進程來處理新的http請求。 

再看一個例子:

#coding=utf-8
import os
os.fork()
print 1

執行結果:

1
1

程序中,父進程中創建了一個子進程,子進程運行打印了一個1,回到父進程又打印了一個1,所以結果是打印了2個1。

注意:

上面創建進程的函數都是Unix/Linux下的,Windows下是沒有的,那在Windows下又使用什么實現多進程呢? 

由于Python是跨平臺的,自然也應該提供一個跨平臺的多進程支持。multiprocessing模塊就是跨平臺版本的多進程模塊, 支持子進程、通信和共享數據、執行不同形式的同步。 

multiprocessing模塊提供了一個Process類來創建一個新的進程對象。

感謝各位的閱讀!關于Python中fock()函數的使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙游县| 永春县| 房山区| 晋宁县| 从化市| 洪江市| 抚顺县| 原平市| 儋州市| 长垣县| 新疆| 凭祥市| 农安县| 云阳县| 五家渠市| 吉首市| 葵青区| 定襄县| 微山县| 巫溪县| 江口县| 江达县| 梨树县| 嘉定区| 双城市| 永清县| 乌鲁木齐市| 信阳市| 舞阳县| 蚌埠市| 鸡西市| 榆社县| 搜索| 格尔木市| 施秉县| 常德市| 巍山| 鹿邑县| 承德市| 鹤庆县| 克山县|