pub trait AsyncTaskPool<O: Default + 'static = ()>: Default + 'static {
type Pool: AsyncTaskPoolExt<O> + AsyncTaskPool<O>;
// Required methods
fn get_thread_id(&self) -> usize;
fn len(&self) -> usize;
fn push(&self, task: Arc<AsyncTask<Self::Pool, O>>) -> Result<()>;
fn push_local(&self, task: Arc<AsyncTask<Self::Pool, O>>) -> Result<()>;
fn push_priority(
&self,
priority: usize,
task: Arc<AsyncTask<Self::Pool, O>>,
) -> Result<()>;
fn push_keep(&self, task: Arc<AsyncTask<Self::Pool, O>>) -> Result<()>;
fn try_pop(&self) -> Option<Arc<AsyncTask<Self::Pool, O>>>;
fn try_pop_all(&self) -> IntoIter<Arc<AsyncTask<Self::Pool, O>>>;
// Provided method
fn get_thread_waker(&self) -> Option<&Arc<(AtomicBool, Mutex<()>, Condvar)>> { ... }
}Expand description
异步任务池
Required Associated Types§
type Pool: AsyncTaskPoolExt<O> + AsyncTaskPool<O>
Required Methods§
Sourcefn get_thread_id(&self) -> usize
fn get_thread_id(&self) -> usize
获取绑定的线程唯一id
Provided Methods§
Sourcefn get_thread_waker(&self) -> Option<&Arc<(AtomicBool, Mutex<()>, Condvar)>>
fn get_thread_waker(&self) -> Option<&Arc<(AtomicBool, Mutex<()>, Condvar)>>
获取本地线程的唤醒器
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.