2010-03-12 2 views

Répondre

0

En supposant que Windows (bien que la même chose s'applique probablement sur d'autres systèmes d'exploitation): il n'y a pas un excellent moyen de le faire en utilisant les attributs du système de fichiers Windows. Au lieu de cela, j'utilise normalement des fichiers vides avec des noms spécifiques pour y parvenir.

Par exemple, créez un fichier appelé: folder.lock. Si ce fichier est présent, vos autres threads doivent traiter le dossier comme verrouillé. Ils peuvent implémenter un observateur de système de fichiers à surveiller lorsque ce fichier est supprimé et obtenir cela pour invoquer l'action suivante pour quand le dossier est libéré.

Si vous avez plusieurs threads potentiellement verrouillés, vous pouvez inclure un identificateur de thread dans le fichier ou le nom de fichier et demander à vos threads de vérifier le verrou spécifiquement pour leur propre identifiant.