Можно ли применять разные блокировки к одному и тому же ресурсу? - PullRequest
2 голосов
/ 15 апреля 2019

У меня есть сценарий, в котором мне нужно применить разные блокировки к части кода.Допустим, у меня есть n серверов, и для каждого сервера я вызываю метод, который записывает некоторый JSON в файл.

Постановка задачи:

Пока у меня есть только один сервер, который вызывает метод A(), который преобразует некоторые строковые строки в json, а затем в файл (при каждом вызове идет строкаline), проблема возникает, когда иногда метод A() записывает строки несколько раз, то есть он посылает методу две строки:

Возможное решение (возможно):

Я думалПрименить n блокировок к методу A(), но затем сервер A завершит запись, прежде чем сервер B получит возможность записать файл.

...