我在做一个小模块,用到了两个协程。一个协程大概的功能就是从队列里取出一些数据,然后根据取到的数据组装成sql,将组装后的sql,压入到协程的chan通道中。另一个协程从通道中取出sql,并执行,执行sql的时候使用 SwooleCoroutineMySQL 库的query。我的设想是 SwooleCoroutineMySQL 在query的时候会占用比较多等待时间,在这个等待mysql响应的时候,把下一个需要组装的数据组装好,装入通道,这样可以减少整体的时间占用。但是结果没有达到我的预期,我的程序还是同步执行,在执行sql的时候,协程并没有让出,而且处于阻塞状态。是我理解的有问题吗?还是有什么我没注意的地方??下面是我代码大致的摘抄,并不是实际运行的代码,仅仅用来表述逻辑。
添加回答
举报
0/150
提交
取消