Python Multiprocessing.Process模块中的引导术语是指什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python Multiprocessing.Process模块中的引导术语是指什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2210字,纯文字阅读大概需要4分钟。
内容图文
![Python Multiprocessing.Process模块中的引导术语是指什么?](/upload/InfoBanner/zyjiaocheng/818/3ca8bbf6f0d04711ad91e47e1d61de5d.jpg)
使用Multiprocessing包中的Process和Pool模块,并继续访问_bootstrap方法的引用.
从我看到的方法导入一个多处理util.py模块并使用它的方法(与其他一些方法相结合)来跟踪,记录和管理子进程.
def _bootstrap(self):
from . import util
global _current_process
try:
self._children = set()
self._counter = itertools.count(1)
try:
sys.stdin.close()
sys.stdin = open(os.devnull)
except (OSError, ValueError):
pass
_current_process = self
util._finalizer_registry.clear()
util._run_after_forkers()
util.info('child process calling self.run()')
try:
self.run()
exitcode = 0
finally:
util._exit_function()
except SystemExit, e:
if not e.args:
exitcode = 1
elif isinstance(e.args[0], int):
exitcode = e.args[0]
else:
sys.stderr.write(str(e.args[0]) + '\n')
sys.stderr.flush()
exitcode = 1
except:
exitcode = 1
import traceback
sys.stderr.write('Process %s:\n' % self.name)
sys.stderr.flush()
traceback.print_exc()
util.info('process exiting with exitcode %d' % exitcode)
return exitcode
研究了一下“bootstrap”这个术语,并将其用于Python模块中的各种上下文中,并且最重要的是(除了可能是twitter bootstrap框架之外)参考统计中测量准确性的过程.
但在这种情况下,似乎函数名称可能指的是将各种元素联系在一起的方法?是这样的吗?
解决方法:
_bootstrap函数是在multiprocessing.Process创建后立即运行的. after it’s forked:
def _launch(self, process_obj):
code = 1
parent_r, child_w = os.pipe()
self.pid = os.fork()
if self.pid == 0:
try:
os.close(parent_r)
if 'random' in sys.modules:
import random
random.seed()
code = process_obj._bootstrap()
finally:
os._exit(code)
else:
os.close(child_w)
util.Finalize(self, os.close, (parent_r,))
self.sentinel = parent_r
def _main(fd):
with os.fdopen(fd, 'rb', closefd=True) as from_parent:
process.current_process()._inheriting = True
try:
preparation_data = pickle.load(from_parent)
prepare(preparation_data)
self = pickle.load(from_parent)
finally:
del process.current_process()._inheriting
return self._bootstrap()
传递给Process的目标是从_bootstrap执行的:
try:
self.run() # This runs target.
exitcode = 0
finally:
util._exit_function()
所以在这个上下文中的“bootstrap”是参考bootstrapping (or more commonly these days, booting) a computer.因为,在启动时完成的第一个东西,它负责实际启动你真正感兴趣的软件.对于多处理,_bootstrap负责进行所需的设置运行目标函数,然后清理.
内容总结
以上是互联网集市为您收集整理的Python Multiprocessing.Process模块中的引导术语是指什么?全部内容,希望文章能够帮你解决Python Multiprocessing.Process模块中的引导术语是指什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。