pub struct StealableTaskPool<O: Default + 'static> { /* private fields */ }
Expand description
可窃取的混合任务池
Implementations§
Trait Implementations§
Source§impl<O: Default + 'static> AsyncTaskPool<O> for StealableTaskPool<O>
impl<O: Default + 'static> AsyncTaskPool<O> for StealableTaskPool<O>
type Pool = StealableTaskPool<O>
Source§fn get_thread_id(&self) -> usize
fn get_thread_id(&self) -> usize
获取绑定的线程唯一id
Source§fn push_priority(
&self,
priority: usize,
task: Arc<AsyncTask<Self::Pool, O>>,
) -> Result<()>
fn push_priority( &self, priority: usize, task: Arc<AsyncTask<Self::Pool, O>>, ) -> Result<()>
将指定了优先级的异步任务加入任务池
Source§fn push_keep(&self, task: Arc<AsyncTask<Self::Pool, O>>) -> Result<()>
fn push_keep(&self, task: Arc<AsyncTask<Self::Pool, O>>) -> Result<()>
异步任务被唤醒时,将异步任务继续加入异步任务池
Source§fn get_thread_waker(&self) -> Option<&Arc<(AtomicBool, Mutex<()>, Condvar)>>
fn get_thread_waker(&self) -> Option<&Arc<(AtomicBool, Mutex<()>, Condvar)>>
获取本地线程的唤醒器
Source§impl<O: Default + 'static> AsyncTaskPoolExt<O> for StealableTaskPool<O>
impl<O: Default + 'static> AsyncTaskPoolExt<O> for StealableTaskPool<O>
Source§fn worker_len(&self) -> usize
fn worker_len(&self) -> usize
获取工作者的数量
Source§fn clone_thread_waker(&self) -> Option<Arc<(AtomicBool, Mutex<()>, Condvar)>>
fn clone_thread_waker(&self) -> Option<Arc<(AtomicBool, Mutex<()>, Condvar)>>
复制当前绑定本地线程的唤醒器
Source§fn set_waits(
&mut self,
_waits: Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>,
)
fn set_waits( &mut self, _waits: Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>, )
设置待唤醒的工作者唤醒器队列
Source§fn get_waits(
&self,
) -> Option<&Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>>
fn get_waits( &self, ) -> Option<&Arc<ArrayQueue<Arc<(AtomicBool, Mutex<()>, Condvar)>>>>
获取待唤醒的工作者唤醒器队列
Source§fn spawn_worker(&self) -> Option<usize>
fn spawn_worker(&self) -> Option<usize>
分派一个空闲的工作者
Source§fn buffer_len(&self) -> usize
fn buffer_len(&self) -> usize
获取缓冲区的任务数量,缓冲区任务是未分配给工作者的任务
Source§fn set_thread_waker(
&mut self,
_thread_waker: Arc<(AtomicBool, Mutex<()>, Condvar)>,
)
fn set_thread_waker( &mut self, _thread_waker: Arc<(AtomicBool, Mutex<()>, Condvar)>, )
设置当前绑定本地线程的唤醒器
Source§fn close_worker(&self)
fn close_worker(&self)
关闭当前工作者
Source§impl<O: Default + 'static> Default for StealableTaskPool<O>
impl<O: Default + 'static> Default for StealableTaskPool<O>
impl<O: Default + 'static> Send for StealableTaskPool<O>
impl<O: Default + 'static> Sync for StealableTaskPool<O>
Auto Trait Implementations§
impl<O> !Freeze for StealableTaskPool<O>
impl<O> !RefUnwindSafe for StealableTaskPool<O>
impl<O> Unpin for StealableTaskPool<O>
impl<O> !UnwindSafe for StealableTaskPool<O>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more