Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Main()
- {
- DirectoryLocker.Create(@"C:\X");
- DirectoryLocker.Create(@"C:\X");
- }
- public static class DirectoryLocker
- {
- private static ConcurrentDictionary<string, FileStream> _lockFiles = new ConcurrentDictionary<string, FileStream>();
- public static DirectoryInfo Create(string path)
- {
- var directory = Directory.CreateDirectory(path);
- _lockFiles.GetOrAdd(path, folder => File.Create(Path.Combine(folder, "lock")));
- return directory;
- }
- public static void Create(params string[] paths)
- {
- foreach(var path in paths)
- {
- Create(path);
- }
- }
- }
Add Comment
Please, Sign In to add comment