sourcetip

epoll은 나사산으로 안전합니까?

fileupload 2023. 8. 1. 20:42
반응형

epoll은 나사산으로 안전합니까?

epoll에는 두 가지 기능이 있습니다.

  1. epoll_ctl
  2. epoll_wait

동일한 epoll_fd를 사용할 때 스레드가 안전합니까?
한 스레드가 epoll_wait를 호출하고 다른 스레드가 epoll_ctl을 동시에 호출하면 어떻게 됩니까?

스레드 세이프이지만 이를 명시하는 문서는 많지 않습니다.여기 참조

BTW, 하나의 스레드에서 여러 개를 대기시킬 수도 있습니다.epoll_fd하지만 그런 경우에는 약간 까다로울 수 있습니다. (즉, 에지 트리거를 사용하는 것이 좋습니다.)EPOLLET또는 원샷 모드EPOLLONESHOT여기를 참조하십시오.)

참고: 기존에 승인된 답변은 맞지만, epoll 문서에서는 "명시적으로 설명하는 문서가 많지 않습니다."라고 언급하고 있습니다.

의 설명서 페이지epoll_wait다른 스레드에서 대기하는 동안 epoll 세트에 파일 설명자를 추가할 수 있습니다.

섹션 "참고":

epoll_wait() 호출에서 한 스레드가 차단되는 동안 다른 스레드가 대기 중인 epoll 인스턴스에 파일 설명자를 추가할 수 있습니다.새 파일 설명자가 준비되면 epoll_wait() 호출이 차단 해제됩니다.

언급URL : https://stackoverflow.com/questions/7058737/is-epoll-thread-safe

반응형