Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
79d489ce
R
Rust
项目概览
int
/
Rust
11 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
79d489ce
编写于
1月 11, 2012
作者:
N
Niko Matsakis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
discuss joinable tasks
上级
46664c1a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
1 deletion
+20
-1
doc/tutorial/task.md
doc/tutorial/task.md
+20
-1
未找到文件。
doc/tutorial/task.md
浏览文件 @
79d489ce
...
...
@@ -14,7 +14,7 @@ somewhat. The tutorial documents the API as it exists today.
## Spawning a task
Spawning a task is done using the various spawn functions in the
module
task.
Let's begin with the simplest one,
`task::spawn()`
, and
module
`task`
. We will
Let's begin with the simplest one,
`task::spawn()`
, and
later move on to the others:
let some_value = 22;
...
...
@@ -122,4 +122,23 @@ addition to the task id of the child, this record defines two fields,
respectively for communicating with the child. Those fields are used
here to send and receive three messages from the child task.
## Joining a task
The function
`spawn_joinable()`
is used to spawn a task that can later
be joined. This is implemented by having the child task send a
message when it has completed (either successfully or by failing).
Therefore,
`spawn_joinable()`
returns a structure containing both the
task ID and the port where this message will be sent---this structure
type is called
`task::joinable_task`
. The structure can be passed to
`task::join()`
, which simply blocks on the port, waiting to receive
the message from the child task.
## The supervisor relationship
By default, failures in Rust propagate upward through the task tree.
We say that each task is supervised by its parent, meaning that if the
task fails, that failure is propagated to the parent task, which will
fail sometime later. This propagation can be disabled by using the
function
`task::unsupervise()`
, which disables error propagation from
the current task to its parent.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录