Структура Id
pub struct Id(/* private fields */);
Доступно только при включённой функции крейта
rt.Непрозрачный идентификатор, который уникально идентифицирует задачу относительно всех остальных задач, выполняющихся в данный момент.
Идентификатор задачи может быть повторно использован для другой задачи только после того, как произойдут оба следующих события:
- Задача завершится.
- С задачей не будет связан активный
JoinHandle.
JoinHandle считается активным в следующих случаях:
- Вы явно удерживаете
JoinHandle,AbortHandleилиtokio_util::task::AbortOnDropHandle. - Задача отслеживается с помощью
JoinSetилиtokio_util::task::JoinMap.
Примечания
- Идентификаторы задач не являются последовательными и не указывают порядок создания задач, среду выполнения, в которой создана задача, или какие-либо другие данные.
- Идентификатор текущей выполняющейся задачи можно получить изнутри задачи с помощью функций
task::try_id()иtask::id(), а извне задачи — с помощью функцииJoinHandle::id().
Реализации трейтов
impl Clone for Id
fn clone_from(&mut self, source: &Self)
Выполняет копирующее присваивание из
source. Подробнее
impl Copy for Id
impl Eq for Id
impl Ord for Id
fn max(self, other: Self) -> Selfwhere Self: Sized,
Сравнивает два значения и возвращает большее. Подробнее
fn min(self, other: Self) -> Selfwhere Self: Sized,
Сравнивает два значения и возвращает меньшее. Подробнее
fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized,
Ограничивает значение заданным интервалом. Подробнее
impl PartialOrd for Id
fn partial_cmp(&self, other: &Id) -> Option<Ordering>
fn le(&self, other: &Rhs) -> bool
Проверяет, меньше ли значение или равно ему (для
self и other), и используется оператором <=. Подробнее
impl StructuralPartialEq for Id
Автоматические реализации трейтов
impl Freeze for Id
impl RefUnwindSafe for Id
impl Send for Id
impl Sync for Id
impl Unpin for Id
impl UnsafeUnpin for Id
impl UnwindSafe for Id
Реализации для всех типов
impl<T> BorrowMut<T> for Twhere T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
Изменяемо заимствует данные из принадлежащего значения. Подробнее
impl<T> CloneToUninit for Twhere T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬Это экспериментальный API, доступный только в nightly-сборке. (
clone_to_uninit)
impl<T> Instrument for T
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> ToOwned for Twhere T: Clone,
type Owned = T
Тип, получаемый после перехода во владение.
fn to_owned(&self) -> T
Создаёт владеющие данные из заимствованных данных, обычно путём клонирования. Подробнее
fn clone_into(&self, target: &mut T)
Использует заимствованные данные для замены владеющих данных, обычно путём клонирования. Подробнее
impl<T> WithSubscriber for T
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Присоединяет текущий подписчик по умолчанию
Subscriber к этому типу и возвращает обёртку WithDispatch. Подробнее
MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/task/struct.Id.html