Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
study
提交
3e43c7ca
S
study
项目概览
OpenDocCN
/
study
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
study
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3e43c7ca
编写于
6月 30, 2019
作者:
C
codinghuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update the docs
上级
634060d4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
4 deletion
+18
-4
docs/《PHP扩展开发》-协程-协程创建(五).md
docs/《PHP扩展开发》-协程-协程创建(五).md
+16
-0
docs/《PHP扩展开发》-协程-协程创建(六).md
docs/《PHP扩展开发》-协程-协程创建(六).md
+2
-4
未找到文件。
docs/《PHP扩展开发》-协程-协程创建(五).md
浏览文件 @
3e43c7ca
...
...
@@ -32,6 +32,8 @@ long PHPCoroutine::create(zend_fcall_info_cache *fci_cache, uint32_t argc, zval
php_coro_args
.
fci_cache
=
fci_cache
;
php_coro_args
.
argv
=
argv
;
php_coro_args
.
argc
=
argc
;
return
0
;
// 这里本应该是返回创建的协程id,但是我们还没有到这一步,所以先返回0
}
```
...
...
@@ -124,6 +126,20 @@ php_coro_task* PHPCoroutine::get_task()
(限于文章篇幅原因,我打算开其他文章来讲解
`get_task`
的实现。)
然后,我们在
`PHPCoroutine::create`
中调用
`save_task`
:
```
cpp
long
PHPCoroutine
::
create
(
zend_fcall_info_cache
*
fci_cache
,
uint32_t
argc
,
zval
*
argv
)
{
php_coro_args
php_coro_args
;
php_coro_args
.
fci_cache
=
fci_cache
;
php_coro_args
.
argv
=
argv
;
php_coro_args
.
argc
=
argc
;
save_task
(
get_task
());
return
0
;
}
```
最后,我们在创建协程的接口里面调用
`Study::PHPCoroutine::create`
即可:
```
cpp
...
...
docs/《PHP扩展开发》-协程-协程创建(六).md
浏览文件 @
3e43c7ca
...
...
@@ -104,7 +104,4 @@ protected:
void
*
task
=
nullptr
;
```
这样,我们就实现了保存
`PHP`
协程栈的功能。
这样,我们就实现了保存
`PHP`
协程栈的功能。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录