U
vi @ sP d dl mZmZ d dlmZmZ d dlmZmZ ddlm Z G dd de Z
dS ) )FutureThreadPoolExecutor)AnyOptional)abctyping )NewThreadSchedulerc s@ e Zd ZdZG dd dejZdee dd fdd
Z Z
S ) ThreadPoolSchedulerz4A scheduler that schedules work via the thread pool.c @ s> e Zd ZdZeejdddZddddZddd d
Z dS )z$ThreadPoolScheduler.ThreadPoolThreadz&Wraps a concurrent future as a thread.)executortargetc C s || _ || _d | _d S N)r r future)selfr r r X/opt/alt/python38/lib/python3.8/site-packages/reactivex/scheduler/threadpoolscheduler.py__init__ s z-ThreadPoolScheduler.ThreadPoolThread.__init__N)returnc C s | j | j| _d S r
)r submitr r r r r r start s z*ThreadPoolScheduler.ThreadPoolThread.startc C s | j r| j d S r
)r cancelr r r r r s z+ThreadPoolScheduler.ThreadPoolThread.cancel)
__name__
__module____qualname____doc__r r StartableTargetr r r r r r r ThreadPoolThread s r N)max_workersr c s4 t |d _tjtjd fdd}t | d S )N)r )r r c s j| S r
)r r )r r r r thread_factory s z4ThreadPoolScheduler.__init__.