|
|
@ -225,7 +225,7 @@ let (tx, rx) = oneshot::channel();
|
|
|
|
|
|
|
|
|
|
|
|
使用方式跟 `mpsc` 很像,但是它并没有缓存长度,因为只能发送一条,接收一条,还有一点不同:你无法对返回的两个句柄进行 `clone`。
|
|
|
|
使用方式跟 `mpsc` 很像,但是它并没有缓存长度,因为只能发送一条,接收一条,还有一点不同:你无法对返回的两个句柄进行 `clone`。
|
|
|
|
|
|
|
|
|
|
|
|
为了让管理任务将结果准确的返回到发送者手中,这个管道的发送端必须要随着命令一起发送, 然后发出命令的任务保留管道的发送端。一个比较好的实现就是将管道的发送端放入 `Command` 的数据结构中,同时使用一个别名来代表该发送端:
|
|
|
|
为了让管理任务将结果准确的返回到发送者手中,这个管道的发送端必须要随着命令一起发送, 然后发出命令的任务保留管道的接收端。一个比较好的实现就是将管道的发送端放入 `Command` 的数据结构中,同时使用一个别名来代表该发送端:
|
|
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
```rust
|
|
|
|
use tokio::sync::oneshot;
|
|
|
|
use tokio::sync::oneshot;
|
|
|
|