Załóżmy że ustawiłem crona na "co minutę".
Pierwszy program startuje, po minucie dalej działa (pobiera dane z serwera). Zapisuje do pliku X.
Startuje drugi program. Zaczyna robić to samo. Piszę do tego samego pliku X.
No i jest problem bo oba piszą jednocześnie (coś jak race condition).
Jak się tego typu problemy rozwiązuje?
Jeśli chodzi tylko o system plików, to możesz założyć lock na plik, żeby tylko jeden proces do niego pisał, a drugi checkał (np open for write). Możesz też nie operować na tym pliku (nie zmieniać go), tylko zawsze tworzyć kopię, i na niej coś robić - wtedy nawet jak i 10 procesów na raz coś będzie chciało zrobić, to nie wejdą sobie w drogę. Jeśli chodzi o zapis do danych które nie są plikiem, to wykorzystuje się inne mechanizmy. Ale zawsze to jest na zasadzie, że albo jedno "coś" pracuje, a pozostałe czekają; albo nie operują na tym samym tylko na kopiach, albo to są synchronizowane operacje (jak np wątki w Javie), albo po prostu się nie zezwalana na to by więcej niż jedna rzecz na raz operowała na danych.
Na tak wysoki poziom jak blokowanie procesów w JVM bym nie wchodził.
Tak na prawdę wszystko zależy od tego co chcesz zrobić - dlaczego te programy piszą do tego samego pliku.