阻塞與非阻塞的區(qū)別 linux下,c語言中,read() 函數(shù),設(shè)為非阻塞,不能讀到內(nèi)容嗎?
linux下,c語言中,read() 函數(shù),設(shè)為非阻塞,不能讀到內(nèi)容嗎?在非阻塞狀態(tài)下,需要有相應(yīng)的通知機制,讓執(zhí)行程序得到任務(wù)完成的狀態(tài)通知。讀系統(tǒng)調(diào)用沒有中斷生成,可以實現(xiàn)無阻塞,但執(zhí)行后會自動退
linux下,c語言中,read() 函數(shù),設(shè)為非阻塞,不能讀到內(nèi)容嗎?
在非阻塞狀態(tài)下,需要有相應(yīng)的通知機制,讓執(zhí)行程序得到任務(wù)完成的狀態(tài)通知。讀系統(tǒng)調(diào)用沒有中斷生成,可以實現(xiàn)無阻塞,但執(zhí)行后會自動退出,并清除緩沖區(qū)。因此,原程序無法判斷讀取執(zhí)行何時完成,理論上也會讀取內(nèi)容,但不方便截取時間和時間。