python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法
本文實(shí)例講述了python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法。分享給大家供大家參考。具體分析如下:
這個(gè)簡(jiǎn)單的函數(shù)可以同于在單獨(dú)的進(jìn)程中運(yùn)行另外一個(gè)函數(shù),這對(duì)于釋放內(nèi)存資源非常有用
#!/usr/bin/env python from __future__ import with_statement import os, cPickle def run_in_separate_process(func, *args, **kwds): pread, pwrite = os.pipe() pid = os.fork() if pid > 0: os.close(pwrite) with os.fdopen(pread, 'rb') as f: status, result = cPickle.load(f) os.waitpid(pid, 0) if status == 0: return result else: raise result else: os.close(pread) try: result = func(*args, **kwds) status = 0 except Exception, exc: result = exc status = 1 with os.fdopen(pwrite, 'wb') as f: try: cPickle.dump((status,result), f, cPickle.HIGHEST_PROTOCOL) except cPickle.PicklingError, exc: cPickle.dump((2,exc), f, cPickle.HIGHEST_PROTOCOL) os._exit(0) #an example of use def treble(x): return 3 * x def main(): #calling directly print treble(4) #calling in separate process print run_in_separate_process(treble, 4)
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- python 動(dòng)態(tài)獲取當(dāng)前運(yùn)行的類(lèi)名和函數(shù)名的方法
- python每隔N秒運(yùn)行指定函數(shù)的方法
- Python裝飾器限制函數(shù)運(yùn)行時(shí)間超時(shí)則退出執(zhí)行
- Python中統(tǒng)計(jì)函數(shù)運(yùn)行耗時(shí)的方法
- 使用python裝飾器計(jì)算函數(shù)運(yùn)行時(shí)間的實(shí)例
- python獲取當(dāng)前運(yùn)行函數(shù)名稱(chēng)的方法實(shí)例代碼
- Python使用多進(jìn)程運(yùn)行含有任意個(gè)參數(shù)的函數(shù)
- 為什么在函數(shù)中運(yùn)行的?Python?代碼速度更快?
相關(guān)文章
基于virtualenv創(chuàng)建python虛擬環(huán)境過(guò)程圖解
這篇文章主要介紹了基于virtualenv創(chuàng)建python虛擬環(huán)境過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python while 循環(huán)使用的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇Python while 循環(huán)使用的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Python sklearn中的.fit與.predict的用法說(shuō)明
這篇文章主要介紹了Python sklearn中的.fit與.predict的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python無(wú)法引用另一個(gè)文件夾的py文件問(wèn)題及解決
這篇文章主要介紹了python無(wú)法引用另一個(gè)文件夾的py文件問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08python爬蟲(chóng)Scrapy框架:媒體管道原理學(xué)習(xí)分析
這篇文章主要介紹了python爬蟲(chóng)Scrapy框架:媒體管道原理學(xué)習(xí)分析,有需要的朋友可以借鑒參考,希望可以對(duì)廣大一同學(xué)習(xí)的讀者朋友有所幫助2021-09-09關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題
將Django項(xiàng)目部署到Linux系統(tǒng)上進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)操作記錄的時(shí)間與服務(wù)器的時(shí)間不一致,相差13個(gè)小時(shí)。這主要是因?yàn)闀r(shí)區(qū)的問(wèn)題,下面這篇文章主要總結(jié)介紹了關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題,需要的朋友可以參考下。2017-12-12