none
Proteger el acceso a un archivo Visual Basic RRS feed

  • Pregunta

  • Hola a todos,

    Estoy trabajando en una aplicación multihilo en la que se accede a un fichero por ftp. 

    El problema que tengo es el siguiente: hay veces que un hilo esta trabajando con el contenido del fichero, y otro intenta acceder a él, provocando una excepción.

    ¿Como podría evitar que un hilo de la aplicación accediera al fichero mientras este esta siendo tratado por otro? ¿Hay alguna forma de bloquear el fichero y decirle al hilo que está abierto y siendo tratado?

    Un saludo

    lunes, 14 de noviembre de 2016 10:17

Respuestas

  • Un fichero se puede bloquear en el disco local, pero no se puede bloquear a traves de FTP. Tendras que recurrir a algun bloqueo "logico", por ejemplo, guardar en una variable estatica en memoria el nombre del fichero que estas procesando, y que todos los hilos primero consulten esa variable antes de ponerse a procesar el fichero. Logicamente, la variable tendras que protegerla brevemente con una instruccion "locking" en el momento en que la lees y modificas en prevision del (poco probable) caso de que dos hilos intenten acceder a ella simultaneamente.
    lunes, 14 de noviembre de 2016 14:35