亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

怎么在Python項目中使用fork()函數

發布時間:2021-03-15 17:39:57 來源:億速云 閱讀:276 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在Python項目中使用fork()函數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

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項目中使用fork()函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

翼城县| 桐梓县| 东城区| 孟村| 绿春县| 兴安县| 海丰县| 鄄城县| 北宁市| 革吉县| 龙游县| 肥乡县| 蓬溪县| 锡林郭勒盟| 乡城县| 达日县| 常山县| 台山市| 壤塘县| 孟连| 定陶县| 韶山市| 镇康县| 张掖市| 库伦旗| 文成县| 多伦县| 西和县| 浦县| 乌拉特前旗| 乌审旗| 漾濞| 西昌市| 武城县| 顺平县| 施甸县| 遂川县| 克拉玛依市| 荔浦县| 北辰区| 平江县|