Linux: Select and Poll
關於select and poll這兩個API,常常看到一些文章說到他們是non-block的,可是卻又在程式碼中可以看到select其實常常是包在一個無窮迴圈內,不斷的去monitor某個fd,如此有怎麼稱得上是non-block,又再稍微的看了一下相關的說明,所謂的non block和block的差異在於process或是thread執行到某些函式的時候是否會立即的有return value,若是會被卡在該函式內等待結果才return回去則稱為block,反之則是non block。
目前遇過的non block的範例是Camera的frame thread透過select的方式去monitor fd將資料收進來的過程。另外就是之前的文章提過的NFC中HAL層同樣透過select的方式去偵測裝置的狀態已進行相對應的處理。
目前遇過的non block的範例是Camera的frame thread透過select的方式去monitor fd將資料收進來的過程。另外就是之前的文章提過的NFC中HAL層同樣透過select的方式去偵測裝置的狀態已進行相對應的處理。
留言
張貼留言