Dosya Okuyucu kullanarak dosya açan bir Java işlemim var. Başka bir (Java) işleminin bu dosyayı açmasını nasıl engelleyebilirim veya en azından ikinci işleme dosyanın zaten açıldığını nasıl bildirebilirim? Bu, dosya açıksa (bu benim sorunumu çözer) ikinci işlemin otomatik olarak bir istisna almasına neden olur mu yoksa onu ilk işlemde bir tür bayrak veya argümanla açıkça açmam gerekir mi?
Netleştirmek için:
Bir klasörü listeleyen ve listedeki her dosyayı işlemek için açan bir Java uygulamam var. Her dosyayı birbiri ardına işler. Her dosyanın işlenmesi, okunması ve içeriğine göre bazı hesaplamalar yapılmasından oluşur ve yaklaşık 2 dakika sürer. Aynı şeyi yapan ancak bunun yerine dosyaya yazan başka bir Java uygulamam da var. İstediğim şey, bu uygulamaları aynı anda çalıştırabilmek, böylece senaryo böyle devam ediyor. ReadApp klasörü listeler ve A, B, C dosyalarını bulur. A dosyasını açar ve okumaya başlar. WriteApp klasörü listeler ve A, B, C dosyalarını bulur, A dosyasını açar, açık olduğunu görür (istisnai olarak veya herhangi bir şekilde) ve B dosyasına gider ReadApp A dosyasını bitirir ve B'ye devam eder. açık ve C'ye devam ediyor WriteApp'ın ReadApp aynı dosyayı okurken veya tersini okurken yazın. Farklı süreçlerdir.