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.