libgo icon indicating copy to clipboard operation
libgo copied to clipboard

Scheduler::Run()

Open birdwyx opened this issue 5 years ago • 1 comments

3.1 版去除了2.9 版本的Scheduler::Run , 仅留下了类似Scheduler::Runloop 类似功能的 Scheduler::Start / goStart, 也就是只保留了协程调度循环,摒弃了单次协程调度。这会为一些原先基于2.9的应用迁移到3.1 带了难题: 比如我同时使用libgo和另外一个库B,库B也使用了类似的任务调度循环,则这个库B就没有可能和libgo一起用了。

库B的调度循环: while(true){ run_tasks(); if(this->onEventCycle) this->onEventCycle(); }

原先我可以在 onEventCycle() 回调中调用 libgo 的Scheduler::Run(), 现在去掉了Scheduler::Run(), 这个功能就不能实现了。

最近准备迁移phpgo到最新libgo,发现了这个问题,因而讨论一下。盼复。

birdwyx avatar Jun 15 '19 16:06 birdwyx

用goStart 另起线程去调度就好了

yyzybb537 avatar Jun 26 '19 06:06 yyzybb537