mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
Add aliases for 'function classes' to multiprocessing (#5346)
Part of #4313
This commit is contained in:
@@ -15,7 +15,9 @@ from multiprocessing.context import (
|
||||
from multiprocessing.managers import SyncManager
|
||||
from multiprocessing.process import active_children as active_children, current_process as current_process
|
||||
|
||||
# These are technically functions that return instances of these Queue classes. See #4313 for discussion
|
||||
# These are technically functions that return instances of these Queue classes.
|
||||
# Using them as annotations is deprecated. Either use imports from
|
||||
# multiprocessing.queues or the aliases defined below. See #4266 for discussion.
|
||||
from multiprocessing.queues import JoinableQueue as JoinableQueue, Queue as Queue, SimpleQueue as SimpleQueue
|
||||
from multiprocessing.spawn import freeze_support as freeze_support
|
||||
from typing import Any, Optional, Union, overload
|
||||
@@ -27,6 +29,26 @@ if sys.version_info >= (3, 8):
|
||||
if sys.platform != "win32":
|
||||
from multiprocessing.context import ForkContext, ForkServerContext
|
||||
|
||||
# The following type aliases can be used to annotate the return values of
|
||||
# the corresponding functions. They are not defined at runtime.
|
||||
#
|
||||
# from multiprocessing import Lock
|
||||
# from typing import TYPE_CHECKING
|
||||
# if TYPE_CHECKING:
|
||||
# from multiprocessing import _LockType
|
||||
# lock: _LockType = Lock()
|
||||
|
||||
_QueueType = Queue
|
||||
_SimpleQueueType = SimpleQueue
|
||||
_JoinableQueueType = JoinableQueue
|
||||
_BarrierType = synchronize.Barrier
|
||||
_BoundedSemaphoreType = synchronize.BoundedSemaphore
|
||||
_ConditionType = synchronize.Condition
|
||||
_EventType = synchronize.Event
|
||||
_LockType = synchronize.Lock
|
||||
_RLockType = synchronize.RLock
|
||||
_SemaphoreType = synchronize.Semaphore
|
||||
|
||||
# N.B. The functions below are generated at runtime by partially applying
|
||||
# multiprocessing.context.BaseContext's methods, so the two signatures should
|
||||
# be identical (modulo self).
|
||||
@@ -38,13 +60,13 @@ RawArray = context._default_context.RawArray
|
||||
Value = context._default_context.Value
|
||||
Array = context._default_context.Array
|
||||
|
||||
def Barrier(parties: int, action: Optional[Callable[..., Any]] = ..., timeout: Optional[float] = ...) -> synchronize.Barrier: ...
|
||||
def BoundedSemaphore(value: int = ...) -> synchronize.BoundedSemaphore: ...
|
||||
def Condition(lock: Optional[_LockLike] = ...) -> synchronize.Condition: ...
|
||||
def Event() -> synchronize.Event: ...
|
||||
def Lock() -> synchronize.Lock: ...
|
||||
def RLock() -> synchronize.RLock: ...
|
||||
def Semaphore(value: int = ...) -> synchronize.Semaphore: ...
|
||||
def Barrier(parties: int, action: Optional[Callable[..., Any]] = ..., timeout: Optional[float] = ...) -> _BarrierType: ...
|
||||
def BoundedSemaphore(value: int = ...) -> _BoundedSemaphoreType: ...
|
||||
def Condition(lock: Optional[_LockLike] = ...) -> _ConditionType: ...
|
||||
def Event() -> _EventType: ...
|
||||
def Lock() -> _LockType: ...
|
||||
def RLock() -> _RLockType: ...
|
||||
def Semaphore(value: int = ...) -> _SemaphoreType: ...
|
||||
def Pipe(duplex: bool = ...) -> tuple[connection.Connection, connection.Connection]: ...
|
||||
def Pool(
|
||||
processes: Optional[int] = ...,
|
||||
|
||||
Reference in New Issue
Block a user