Explain how to cancel a spawned future.
This commit is contained in:
parent
73e7ddf913
commit
2f2a2a335b
|
@ -84,6 +84,20 @@ clean-up work. This can be by:
|
|||
|
||||
The optimal choice is contextual.
|
||||
|
||||
## Cancelling spawned tasks
|
||||
|
||||
When you spawn a task using `tokio::spawn`, you can no longer drop it;
|
||||
it belongs to the runtime.
|
||||
Nonetheless, you can use its `JoinHandle` to cancel it if needed:
|
||||
|
||||
```rust
|
||||
async fn run() {
|
||||
let handle = tokio::spawn(/* some async task */);
|
||||
// Cancel the spawned task
|
||||
handle.abort();
|
||||
}
|
||||
```
|
||||
|
||||
## Further reading
|
||||
|
||||
- Be extremely careful when using `tokio`'s `select!` macro to "race" two different futures.
|
||||
|
|
Loading…
Reference in New Issue