yyzybb537

Results 77 comments of yyzybb537

看起来你是按照"线程池"的方式在使用了,那么你不需要关注"调度线程"的启停,只需要关注每个"协程任务"是否完成就行了,没有任务的时候,调度线程自然会进入等待状态的。

不阻塞的时候 你希望调度线程干啥活呢?

看起来似乎是libgo调度器被放到你老的线程池中被当做task来执行了?

听起来goStart可以解决你的问题呀,既然都是当做线程池来用,libgo的调度线程是否和原线程池共用线程是无关紧要的事情,分别使用不同的线程也是可以的吧?

这样啊,那你可以这样: 1.启动新线程 2.做threadlocal数据的初始化工作 3.调用Start(1)

很高的原因是什么?

1.看起来这种初始化只需要做一次, 然后每个线程都copy一份到自己的tls即可 2.你是嵌入式开发吗? 几百K的堆数据对于现代server来讲应该无足轻重吧?

这个不是tls数据的初始化工作吗, 初始化阶段的copy快点慢点无所谓吧, 后续来请求的时候已经有tls数据了 就不用copy了

现在你的线程池 启动了多少个线程?

goStart都是内部创建的不错, Start(1)是直接使用当前线程做调度,这个是可以自己控制的