定时器以及其它 - phxrpc阅读笔记(2)
写在前面
phxrpc使用了协程(ucontext)和IO复用技术(epoll)来实现网络通信。定时器在其中起到了非常重要的作用。下面我们就来分析一下phxrpc的timer.[h|cpp]
中的代码。
system_clock vs steady_clock
system_clock
和steadly_clock
都是来自<chrono>
库,都是用来获取当前时间的。
system_clock
用来从系统时钟获取时钟时间(wall clock time),而steadly_clock
获取的是时钟tick,而且保证随着时间的推移,时钟tick数不会变小。
然而实际上,在某些系统下,这两个时钟的实现是一致的。详细信息可以参考这里。
注:在clang++ 4.2.1, g++ 5.4 下实验,这两个时钟是不同的。所以个人认为在这里最好不要做任何无意义的假设。
几毫秒的安睡
void …