Если тебе нужно чтоб ты мог только читать, ставь EnterReadLock, он блокирует все потоки на запись и все они становятся в очередь, а все потоки на чтение одновременно читают нужный файл. Если нужно писать, то ставишь EnterWriteLock, тогда все потоки кроме текущего становятся в очередь, притом потоки на запись будут в начале очереди, но писать может ТОЛЬКО ОДИН поток одновременно. Писать и читать одновременно - - НЕЛЬЗЯ, это не безопасно и ты не знаешь, что ты в итоге получишь