eventfd和timerfd
? ? ? ?在學習muduo中有看到eventfd和timerfd這2個函數,它們都可以通過文件描述符操作,能夠很好的與epoll結合。
? ? ? ?eventfd用來在進程或線程之間通信,接口如下:
? ? ? ?#include <sys/eventfd.h>
? ? ? ?int eventfd(unsigned int initval,int flags); ?成功返回事件驅動的文件描述符
? ? ? ?Initval:初始化計數器的值,該值保存在內核
? ? ? ?flags:
? ? ? ? ? ? EFD_NONBLOCK:設置對象為非阻塞狀態
? ? ? ? ? ? EFD_CLOEXEC:在執行 exec() 調用時關閉文件描述符,防止文件描述符泄漏給子進程
? ? ? ?下面幾篇里有實例:
? ? ? ? https://blog.csdn.net/hustfoxy/article/details/23613101
? ? ? ? https://blog.csdn.net/Shreck66/article/details/49757685
? ? ? ? https://blog.csdn.net/majianfei1023/article/details/51199702
? ? ? ?timerfd在Linux下用來定時,接口包括定時器創建、啟動定時器、關閉定時器和刪除定時器
? ? ? ?如下博文說的很詳細了:https://blog.csdn.net/fuyuande/article/details/80658695
總結
以上是生活随笔為你收集整理的eventfd和timerfd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vector的resize()和rese
- 下一篇: linux无锁化编程