我正在編寫一個跨平臺的庫,它模擬套接字行爲,在(App-> mylib->套接字)之間具有附加功能。是否有與eventfd相當的Windows?
我希望它是最透明的可能的程序員,所以元像select和poll必須用這個LIB相應的工作。
問題是,當數據變得可用(例如)在真實套接字中時,它將不得不經過大量處理,所以如果選擇指向真實套接字fd,應用程序將被阻塞很多時間。我希望select/poll只在數據準備好被使用時解鎖(在我的lib完成所有處理之後)。
所以,我碰到這個eventfd,讓我做的正是我想要的,即到manipule在給定的FD選擇/ poll的行爲。
因爲我對Linux環境更熟悉,所以我不知道什麼是eventfd的等效窗口。試圖尋找,但沒有運氣。
注意: 其他方法是使用與接口連接的另一個套接字,但似乎有這麼多的開銷。僅僅因爲Windows沒有(看起來如此)這個功能而使用所有數據進行系統調用。
或者我可以實現我自己的選擇,重新發明輪子。 =/
Windows只在WinSock中提供'select',這意味着它只能在網絡套接字上運行,而不是在文件描述符上運行。 – 2012-12-19 18:48:52