首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
同步处理应该在worker 进程中执行合理还是在task进程中合理
同步处理应该在worker 进程中执行合理还是在task进程中合理呢,如果在worker进程中处理,那势必对高并发请求有一定制约,如果放在task进程中处理的话,task又是同步阻塞的,我想再实现任务内部的异步mysql,又无法显现,这个该怎么破。。。?
发布于7年前 · 0 次浏览 · 来自
提问
*
******
同步处理应该在worker 进程中执行合理还是在task进程中合理呢,如果在worker进程中处理,那势必对高并发请求有一定制约,如果放在task进程中处理的话,task又是同步阻塞的,我想再实现任务内部的异步mysql,又无法显现,这个该怎么破。。。?
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2017-05-17
x
xusir
同步当然是要放到Task进程去执行了。异步非阻塞编程的特点就是,你的代码里不能有任何同步阻塞的代码,否则就不叫异步非阻塞。 所以Worker进程里如果有同步阻塞的操作,那就是同步服务器了。不再有异步非阻塞的高并发高性能。 Task进程一定是同步的,底层做了限制,只能同步。如果你想用异步MySQL可以使用`sendMessage`将任务交给异步的Worker进程去执行。
赞
0
回复
微信公众号
热门内容
作者其它话题
- Swoole\Redis\Server 返回MAP或者SET时报错,有遇到同样问题的同学么?怎么解决的?
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。