當直接寫入/ dev中的設備時,我打開文件描述符並執行UNIX write(),然後執行read()。我可以讓多個線程在相同的文件描述符上執行write()/ read()序列,並且如果兩個線程同時進入write()函數,不會獲取混亂的數據嗎?將數據發送到設備時讀取()/寫入()的原子性
對std文檔的引用將非常有幫助。儘管如此,我還是無法找到任何東西。有人提到這種操作在內核中是原子的,但我很懷疑。
另外,爲了說明這是/ dev中的一個文件,所以對於「文件指針」概念在這裏適用的程度有所瞭解也很有幫助。
[此問題](http://stackoverflow.com/q/5268307/315052)與您的相關。 – jxh
是的,我明白在一個普通文件上這樣做會改變文件指針,並且可以混合使用。這不是一個文件,它是/ dev中的一個設備。 – wlformyd
如果由多個線程輸入,設備驅動程序本身必須確保狀態保持一致。這就是文件系統'read' /'write'的功能。 – jxh