Любые наблюдения, подобные этой, должны быть привязаны к конкретной операционной системе и могут относиться к различным версиям операционной системы (ядра). То, что вы здесь нажимаете, вероятно, связано с тем, как ОС реализует потоки, и с планированием потоков. Платформа Java мало что настраивает для такого рода вещей.
IMO, если вам нужна лучшая производительность, вам, вероятно, не следует использовать файл в качестве канала передачи данных между двумя потоками в одной JVM. Кодируйте свое приложение, чтобы обнаружить, что потоки расположены в одной и той же JVM, и использовать, скажем, потоки Java Pipe.