Trait AsyncTaskPoolExt

Source
pub trait AsyncTaskPoolExt<O: Default + 'static = ()>:
    Send
    + Sync
    + 'static {
    // Provided methods
    fn set_waits(
        &mut self,
        _waits: Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>,
    ) { ... }
    fn get_waits(
        &self,
    ) -> Option<&Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>> { ... }
    fn idler_len(&self) -> usize { ... }
    fn spawn_worker(&self) -> Option<usize> { ... }
    fn worker_len(&self) -> usize { ... }
    fn buffer_len(&self) -> usize { ... }
    fn set_thread_waker(
        &mut self,
        _thread_waker: Arc<(AtomicBool, Mutex<()>, Condvar)>,
    ) { ... }
    fn clone_thread_waker(
        &self,
    ) -> Option<Arc<(AtomicBool, Mutex<()>, Condvar)>> { ... }
    fn close_worker(&self) { ... }
}
Expand description

异步任务池扩展

Provided Methods§

Source

fn set_waits( &mut self, _waits: Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>, )

设置待唤醒的工作者唤醒器队列

Source

fn get_waits( &self, ) -> Option<&Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>>

获取待唤醒的工作者唤醒器队列

Source

fn idler_len(&self) -> usize

获取空闲的工作者的数量,这个数量大于0,表示可以新开线程来运行可分派的工作者

Source

fn spawn_worker(&self) -> Option<usize>

分派一个空闲的工作者

Source

fn worker_len(&self) -> usize

获取工作者的数量

Source

fn buffer_len(&self) -> usize

获取缓冲区的任务数量,缓冲区任务是未分配给工作者的任务

Source

fn set_thread_waker( &mut self, _thread_waker: Arc<(AtomicBool, Mutex<()>, Condvar)>, )

设置当前绑定本地线程的唤醒器

Source

fn clone_thread_waker(&self) -> Option<Arc<(AtomicBool, Mutex<()>, Condvar)>>

复制当前绑定本地线程的唤醒器

Source

fn close_worker(&self)

关闭当前工作者

Implementors§