¿Patrón de observador adecuado para la monitorización de archivos?

¿Me interesa saber si el patrón de observador es el enfoque correcto para implementar el código para monitorear los archivos de registro y sus cambios?

Actualmente lo estoy usando, pero parece que hay una anomalía que no puedo explicar. Básicamente, creo una clase llamada FileMonitor que tiene un temporizador que se dispara, que itera una lista de archivos únicos en busca de una "fecha de última modificación" modificada.

Al encontrarlo, se repite una lista de escuchas para encontrar el archivo coincidente, y se notifica el evento fileChanged. Entonces comienza a procesar las líneas que se agregaron en el archivo.

Así que para hacer mi pregunta más sucinta:

¿El patrón del observador se ajusta a lo que estoy tratando de hacer? (Actualmente tengo un Listener por archivo)¿Existe alguna posibilidad de "problemas de concurrencia" dado que hay más de un archivo para monitorear?

Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta