当前位置: 首页>>代码示例>>Python>>正文


Python util.register_after_fork方法代码示例

本文整理汇总了Python中multiprocessing.util.register_after_fork方法的典型用法代码示例。如果您正苦于以下问题:Python util.register_after_fork方法的具体用法?Python util.register_after_fork怎么用?Python util.register_after_fork使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在multiprocessing.util的用法示例。


在下文中一共展示了util.register_after_fork方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from multiprocessing import util [as 别名]
# 或者: from multiprocessing.util import register_after_fork [as 别名]
def __init__(self):
        util.register_after_fork(self, lambda obj: obj.clear()) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,代码来源:managers.py

示例2: __init__

# 需要导入模块: from multiprocessing import util [as 别名]
# 或者: from multiprocessing.util import register_after_fork [as 别名]
def __init__(self, maxsize=0, reducers=None, ctx=None):

        if sys.version_info[:2] >= (3, 4):
            super().__init__(maxsize=maxsize, ctx=ctx)
        else:
            if maxsize <= 0:
                # Can raise ImportError (see issues #3770 and #23400)
                maxsize = SEM_VALUE_MAX
            if ctx is None:
                ctx = get_context()
            self._maxsize = maxsize
            self._reader, self._writer = connection.Pipe(duplex=False)
            self._rlock = ctx.Lock()
            self._opid = os.getpid()
            if sys.platform == 'win32':
                self._wlock = None
            else:
                self._wlock = ctx.Lock()
            self._sem = ctx.BoundedSemaphore(maxsize)

            # For use by concurrent.futures
            self._ignore_epipe = False

            self._after_fork()

            if sys.platform != 'win32':
                util.register_after_fork(self, Queue._after_fork)

        self._reducers = reducers

    # Use custom queue set/get state to be able to reduce the custom reducers 
开发者ID:joblib,项目名称:loky,代码行数:33,代码来源:queues.py

示例3: __init__

# 需要导入模块: from multiprocessing import util [as 别名]
# 或者: from multiprocessing.util import register_after_fork [as 别名]
def __init__(self, kind, value, maxvalue):
        # unlink_now is only used on win32 or when we are using fork.
        unlink_now = False
        for i in range(100):
            try:
                self._semlock = _SemLock(
                    kind, value, maxvalue, SemLock._make_name(),
                    unlink_now)
            except FileExistsError:  # pragma: no cover
                pass
            else:
                break
        else:  # pragma: no cover
            raise FileExistsError('cannot find name for semaphore')

        util.debug('created semlock with handle %s and name "%s"'
                   % (self._semlock.handle, self._semlock.name))

        self._make_methods()

        def _after_fork(obj):
            obj._semlock._after_fork()

        util.register_after_fork(self, _after_fork)

        # When the object is garbage collected or the
        # process shuts down we unlink the semaphore name
        resource_tracker.register(self._semlock.name, "semlock")
        util.Finalize(self, SemLock._cleanup, (self._semlock.name,),
                      exitpriority=0) 
开发者ID:joblib,项目名称:loky,代码行数:32,代码来源:synchronize.py


注:本文中的multiprocessing.util.register_after_fork方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。