-
-
Notifications
You must be signed in to change notification settings - Fork 722
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于demo的sleep.c请教 #34
Comments
@xzzh999 那个demo是个while loop, |
这个明白;但是如 coroutine: 100这个协程,tb_msleep(100)应该还没到时间, tb_msleep(100)应该不会返回啊,难道这个 loop 是共享的麽?协程不是都有各自的栈麽?开始的时候应该是如下打印才对啊:
10ms(打印) -- > 100ms (时间未到再切出去) -- > 10ms(打印) ... -- > 100ms (时间到了,往下走打印) 不知道我的理解错在哪里? |
@xzzh999 你好,这里确实有些bug,因为里面针对时间戳进行了缓存优化,初始化的时候存在一些bug,现已修复,你可以尝试更新到master版本,再试下。 |
@waruqi |
大牛牛,看了很多协程库,但是还是没有太搞清楚什么场景下使用? |
@skyformat99 你可以一个线程上去创建多个协程来调度同时写数据库,也可以多个线程。不过写数据库 需要hook底层的io接口,去切换调度,tbox暂时不支持hook操作,你可以找找其他一些协程库来实现。 你可以网上看一些关于协程的使用场景和介绍。。 |
谢谢解答。 |
不客气 |
master 现在测试是正常的,关闭问题。 |
你好,大牛,tbox的demo源码的sleep.c执行后开始打印了:
我刚开始接触协程请见谅,有个地方想不通:按我的理解遇到 tb_msleep 后协程切出去了,10 ms超时后其它的协程(100, 1000, 2000 )应该不会执行啊,不应该是 tb_msleep 到时间后才会往后走麽?
The text was updated successfully, but these errors were encountered: