我怀疑一个 perl 进程正在写入一个文件,而同一个文件正在被 java 线程读取。假设如果该线程在 perl 进程正在写入该文件时访问该文件以读取它,那么线程将进入等待状态或将能够读取它。然后它进入等待状态,它将返回到运行状态还是将永远进入等待状态。实际上 2 个不同的过程将如何做到这一点。
嗨,其实我有 2 个过程。一个是 perl 进程,它是一个较慢的进程,它会在一项任务完成时不断更新文件,以将该任务的状态更新为成功或失败。其他是 Java 进程,它不断地从这个文件中读取任务状态是成功还是失败。因此,由于 java 进程是快速进程(因为它不需要等待任何任务完成),所以现在将是什么场景。当文件被 perl 进程锁定以进行写入时,此 java 线程将进入等待状态还是终止状态。操作系统是linux。