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

Interface 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 close()[source]

Do any cleanup necessary before disposal of the context.

abstract property closed

True if this context is closed, else False.

abstract event()[source]

Return a shareable event suitable for this context.


event – An event that can be shared safely with workers. The event should have the same API as threading.Event and multiprocessing.Event, providing at a minimum the set and is_set methods from that API.

Return type:


abstract message_router(event_loop)[source]

Return a message router suitable for use in this context.


event_loop (IEventLoop) – The event loop to interact with.



Return type:


abstract worker_pool(*, max_workers=None)[source]

Provide a worker pool suitable for this context.


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.



Return type: