Я хотел бы знать, какая разница между обоими наблюдателями i/o inotify и epoll?
Inotify
- inotify_init (void) создает экземпляр inotify для чтения событий из
- inotify_add_watch (int fd, const char * path, int mask) возвращает часы fd вокруг файла node по пути
- inotify_rm_watch (int fd, int wd) останавливает просмотр событий на fd
Epoll
- epoll_create (void) создает объект epoll
- epoll_ctl (int epfd, int op, int fd, struct epoll_event * event) устанавливает события для просмотра
- epoll_wait (int epfd, struct epoll_event * events, int maxevents, int timeout); блоки до события
Так что, похоже, существует другой подход к просмотру файлов. Inotify пытается позволить пользователю решить, когда собирать события, пока блоки epoll до тех пор, пока что-то не произойдет.
Это правильно? Каковы другие отличия?
Бодо