У мене є процес Java, який відкриває файл за допомогою FileReader. Як я можу запобігти іншому процесу (Java) відкрити цей файл або принаймні повідомити той другий процес, що файл уже відкритий? Чи автоматично це робить другий процес винятком, якщо файл відкритий (що вирішує мою проблему) або я повинен явно відкрити його в першому процесі за допомогою якогось прапора чи аргументу?
Для уточнення:
У мене є програма Java, яка містить список папок і відкриває кожен файл у списку для його обробки. Він обробляє кожен файл за іншим. Обробка кожного файлу полягає у його читанні та виконанні деяких обчислень на основі вмісту і займає близько 2 хвилин. У мене також є інша програма Java, яка робить те саме, але замість цього пише у файл. Те, що я хочу, - це можливість одночасно запускати ці програми, так що сценарій буде таким. ReadApp перераховує папку та знаходить файли A, B, C. Він відкриває файл A і починає читання. WriteApp перераховує папку та знаходить файли A, B, C. Він відкриває файл A, бачить, що він є відкритим (за винятком чи будь-яким іншим способом) і переходить у файл B. ReadApp закінчує файл A і продовжує B. Він бачить, що це відкрито і продовжує C. Важливо, що WriteApp не робить ' t пишіть, поки ReadApp читає той самий файл або навпаки. Вони різні процеси.