- 主题:Re: 主题:求教,c++程序库是如何调用sleep而线程并不挂起的呢
什么叫没有挂起?疯狂占CPU?
【 在 stub 的大作中提到: 】
: 刚在ubuntu上测试brpc, 测试代码中包含了sleep, 而通过打印线程id发现,线程并没有挂起。
: 我理解, 调用sleep类函数时, 最终会执行int 0x80 (或sysenter)进入内核态,然后把自己放到等待队列上。 一直到sleep时间到来之前不会被调度。 然而测试brpc时的现象明显不是这样。
: --
: ...................
--
FROM 103.238.135.*
同觉着
【 在 wtl 的大作中提到: 】
: 是在bthread上sleep的吧,多bthread会共享线程,看下n:m那的说明
:
: 【 在 stub 的大作中提到: 】
: ...................
--
FROM 43.243.12.*
因为是自己实现的bthread,类似于协程,自己做调度,猜测哈,还得看代码
【 在 stub 的大作中提到: 】
: 【 在 GoGoRoger 的大作中提到: 】
: : 同觉着
: 按wiki应该是这样,但是求教下怎么做到的..
: ...................
--
FROM 106.121.136.*
我觉着99.9%的人不需要协程,95%的人不需要c/ cpp。
【 在 xiaoju 的大作中提到: 】
: 你写C++就老老实实跟着标准库和boost混,如果用了什么人家尚未收录的奇技淫巧,首先要看看人家不收的论据
:
: 【 在 hgoldfish 的大作中提到: 】
: ...................
--
FROM 106.121.136.*