假设我打开一个二进制文件(或文本为二进制文件)并读取16K字节。另一个文件打开进程并截断它、追加或更改我尚未读取(或已经读取)的字节。
会有办法让read失败吗?目前,当我到达文件的末尾时,我会做一个统计,并检查修改时间是否与我开始的时间相匹配,但我宁愿早早地失败。
发布于 2022-04-07 06:18:31
你可以用一个关键的部分。我想这就是内特·艾尔德雷奇的建议。
Enter critical section
Read file
Leave critical section
Now you can write这样你的“阅读”就不会失败,但是没有更多的理由这样做。
https://stackoverflow.com/questions/71776018
复制相似问题