
从零开始学嵌入式-9.网络编程开发及实战(下)
文章平均质量分 61
9.网络编程开发及实战(下)
Jing's secret
头发少,样子老,背个双肩包像沙雕
展开
-
9.3 多路复用poll函数
EPOLLONESHOT:只监听一次事件,当监听完这次事件之后,如果还需要继续监听这个 socket 的话,需要再次把这个 socket 加入到 EPOLL 队列里。events: 分配好的 epoll_event 结构体数组,epoll_wait 将会把发生的事件赋值到events 数组中。EPOLLPRI:表示对应的文件描述符有紧急的数据可读(这里应该表示有带外数据到来);epfd: epoll 专用的文件描述符,epoll_create()的返回值。EPOLLOUT:表示对应的文件描述符可以写;原创 2023-06-29 09:57:07 · 131 阅读 · 0 评论 -
9.2 IO多路复用select函数
【代码】9.2 IO多路复用select函数。原创 2023-06-29 09:50:06 · 109 阅读 · 0 评论 -
9.1 I/O模型
线程试图得到一个锁,而该锁正被其他线程持有,于是只能进入阻塞状态,等到获取了同步锁,才能恢复执行。同步是对于消息的通知机制而言,阻塞是针对等待消息通知时的状态来说的。线程调用一个在I/O上被阻塞的操作,即该操作在输入/输出操作完成前不会返回到它的调用者。对于一个线程的请求调用来讲,同步和异步的区别在于是否要等这个请求出最终结果。对于多个线程而言,同步或异步就是线程间的步调是否要一致、是否要协调。阻塞与非阻塞与等待消息通知时的状态(调用线程)有关。I/O分为内存I/O、网络I/O和磁盘I/O三种。原创 2023-06-27 16:12:55 · 216 阅读 · 0 评论