swoole / swoole-src

🚀 Coroutine-based concurrency library for PHP
https://www.swoole.com
Apache License 2.0
18.41k stars 3.16k forks source link

swoole在coroutine切换的时候有没有一个事件机制,可以在切换前后做一些自定义操作? #1659

Closed eslizn closed 6 years ago

eslizn commented 6 years ago

如果没有的话能否增加一个,这样的话可以针对现有较多使用了单例模式的php框架实现一个上下文隔离和切换的补丁

twose commented 6 years ago

参考现有的swoole框架如swoft/easyswoole等, php可以自己实现用co::getuid来做context管理, 效果应该是一样的. 如果你想用这种方式来方便地改造传统框架的话, 这个应该去rfc里提, 不过根据惯例php能实现的东西swoole可能不会考虑

eslizn commented 6 years ago

@twose 通过php自身实现是需要修改框架源码的,我是想通过补丁的形式自己完成上下文管理,这样可以无缝切换

shiguangqi commented 6 years ago

@eslizn 感谢提出问题,协程的作用是给予开发者用户态切换执行的能力,上下文是需要自己来管理维护。