|
|
@ -82,7 +82,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
|
|
`try_recv` 不会阻塞,相反它立刻返回一个 `Result<T, E>`:`Ok` 值包含可用的信息,而 `Err` 值代表此时没有任何消息。如果线程在等待消息过程中还有其他工作时使用 `try_recv` 很有用:可以编写一个循环来频繁调用 `try_recv`,再有可用消息时进行处理,其余时候则处理一会其他工作直到再次检查。
|
|
|
|
`try_recv` 不会阻塞,相反它立刻返回一个 `Result<T, E>`:`Ok` 值包含可用的信息,而 `Err` 值代表此时没有任何消息。如果线程在等待消息过程中还有其他工作时使用 `try_recv` 很有用:可以编写一个循环来频繁调用 `try_recv`,再有可用消息时进行处理,其余时候则处理一会其他工作直到再次检查。
|
|
|
|
|
|
|
|
|
|
|
|
处于简单的考虑,这个例子使用了 `recv`;主线程中除了等待消息之外没有任何其他工作,所以阻塞主线程是合适的。
|
|
|
|
出于简单的考虑,这个例子使用了 `recv`;主线程中除了等待消息之外没有任何其他工作,所以阻塞主线程是合适的。
|
|
|
|
|
|
|
|
|
|
|
|
如果运行示例 16-8 中的代码,我们将会看到主线程打印出这个值:
|
|
|
|
如果运行示例 16-8 中的代码,我们将会看到主线程打印出这个值:
|
|
|
|
|
|
|
|
|
|
|
|