请教一个服务端开发相关问题
是今天面试vivo的一个题,如下:
阻塞型和非阻塞型文件描述符,都能用epoll的LT和ET模式吗?
我的回答如下:
阻塞型文件描述符可以用两种模式,非阻塞型文件描述符只能用ET模式。
是因为在LT模式下,如果某个文件描述符有数据可读,主线程会分配一个线程去处理这个文件描述符,在后台处理完成后通知主线程。如果还没处理完又一次调用epoll_wait,还会返回可读状态,这样主线程又会分配一个新的线程处理,这样就有两个线程处理同一个文件描述符了。
请问我这样想对吗?或者正确答案是什么?非常感谢!
#vivo提前批##vivo#