我是使用epoll進行linux服務器編程的新手。 我有2個線程:Thread_Accept和Thread_epoll。前者是塊接受循環,如果新連接即將到來,它將使用epoll_ctl()添加新的fd。後者是一個大的epoll_wait()循環。在一個線程中執行epoll_ctl,而另一個線程處於epoll_wait中間
現在我的問題是:如果當Thread_Acepts執行epoll_ctl()而Thread_epoll處於epoll_wait中間時呢?會有副作用嗎?
在此先感謝。
問候, 馬丁
伊萬,我知道了。但不是它分裂爲兩個線程會獲得更好的表現嗎?只是我的想法。 –
關於獲得更好的表現,我不確定。在這種情況下,您需要通過鎖定來保護每個epoll_ctl。恕我直言,它只會增加您的代碼的複雜性 –