traits_futures.i_parallel_context module¶
Interface for the parallelism context needed by the TraitsExecutor
-
class
traits_futures.i_parallel_context.IParallelContext[source]¶ Bases:
abc.ABCInterface for the parallelism context needed by the TraitsExecutor.
A class implementing this interface provides a worker pool, message router and other concurrency primitives suitable for a particular form of parallelism, for example multithreading or multiprocessing.
-
abstract property
closed¶ True if this context is closed, else False.
-
abstract
event()[source]¶ Return a shareable event suitable for this context.
- Returns
event – An event that can be shared safely with workers. The event should have the same API as
threading.Eventandmultiprocessing.Event, providing at a minimum thesetandis_setmethods from that API.- Return type
-
abstract
message_router(event_loop)[source]¶ Return a message router suitable for use in this context.
- Parameters
event_loop (
IEventLoop) – The event loop to interact with.- Returns
message_router
- Return type
-
abstract
worker_pool(*, max_workers=None)[source]¶ Provide a worker pool suitable for this context.
- Parameters
max_workers (
int, optional) – Maximum number of workers in the worker pool. If not given, it’s up to the worker pool to choose a suitable number of workers, perhaps dependent on the number of logical cores present on the target machine.- Returns
executor
- Return type
-
abstract property