2013-07-01 2 views
0

Я большой поклонник класса семафора C#, но мне нужно расширить его, чтобы использовать файлы. Класс семафора будет реализован во многих приложениях и должен быть синхронизирован. Эти приложения будут контролировать доступ к буферу Windows и доступ к редактированию других файлов. В некоторых случаях несколько потоков или процессов могут сразу вводить семафор.Как реализовать класс семафора с использованием файловой системы

+0

Зачем нужен файл сейчас? вам нужно приложение, которое просто действует как семафор (агент), а затем другие приложения связывают его с сокетом, мне интересно, как вы действительно хотите иметь семафор с файлом !? –

+0

Мне не нужно приложение семафора (агент). Мне нужен класс семафоров на основе файлов, и этот класс семафора будет интегрирован в другие приложения. – Luke101

+1

как я уже сказал, это нехорошая идея контролировать или общаться с файлами, вместо этого использовать сокет –

ответ

2

Считаете ли вы использование именованного системного семафора? Именованный семафор управляется системой и может использоваться многими процессами, запущенными в одной и той же системе. Один процесс создает семафор, а другой просто открывает его экземпляр. Windows гарантирует правильное состояние семафахора.

Пример использования: http://msdn.microsoft.com/en-us/library/wz356skf.aspx

Смежные вопросы