我正在编写一个简单的文件缓存。在此上下文中,我想实施三种方法来修改文件:create
,read
和delete
。
当文件被删除时,我打算首先检查它是否被读取并在之后删除它。我首先想要优先考虑read
对delete
的调用。但我也希望 read
能够由多个线程执行。 (非独家锁定)
我的第一个想法是使用同步计数器来监控缓存中每个文件的读取次数。当调用delete时,它检查计数器是否> 0,如果是,它循环并等待,直到它被设置为零并继续。我不喜欢这个循环,并希望使用更安全的机制。
我很高兴听到任何建议。
谢谢