Struct embassy_executor::SpawnToken
source · pub struct SpawnToken<S> { /* private fields */ }
Expand description
在执行器中创建新任务的令牌
当调用任务方法时(比如 #[embassy_executor::task] async fn my_task() { ... }
),
返回值是一个的 SpawnToken
,它代表这个任务的实例。你必须将它放到一个执行器中去创建任务,如 Spawner::spawn()
范型参数 S
决定执行器在其他线程中是否可以创建任务。如果 S: Send
,则可以,这允许将其放到 SendSpawner
来生成任务。
否则,就不可以,只能在当前线程中使用 Spawner
来生成任务。
异常
销毁一个 SpawnToken 实例会导致异常。你不该以这种方式“中止”任务的创建。 一旦你调用一个任务函数,并得到一个 SpawnToken,就 必须 创建它。
Token to spawn a newly-created task in an executor.
When calling a task function (like #[embassy_executor::task] async fn my_task() { ... }
), the returned
value is a SpawnToken
that represents an instance of the task, ready to spawn. You must
then spawn it into an executor, typically with Spawner::spawn()
.
The generic parameter S
determines whether the task can be spawned in executors
in other threads or not. If S: Send
, it can, which allows spawning it into a SendSpawner
.
If not, it can’t, so it can only be spawned into the current thread’s executor, with Spawner
.
Panics
Dropping a SpawnToken instance panics. You may not “abort” spawning a task in this way. Once you’ve invoked a task function and obtained a SpawnToken, you must spawn it.
Implementations§
source§impl<S> SpawnToken<S>
impl<S> SpawnToken<S>
sourcepub fn new_failed() -> Self
pub fn new_failed() -> Self
返回一个 SpawnToken, 代表创建任务失败
Return a SpawnToken that represents a failed spawn.