Является ли семафор механизмом IPC?Является ли семафор механизмом IPC?
ответ
Это зависит от операционной системы
В Windows с именем семафоры могут быть доступны между процессами с использованием CreateSemaphore() и OpenSemaphore() функции
http://msdn.microsoft.com/en-us/library/ms682438%28VS.85%29.aspx
Да, под многими платформами семафоры могут синхронизироваться между процессами. Для этого вы должны использовать «named» семафоры - несколько процессов обращаются к объекту через имя, аналогичное объектам файловой системы.
В POSIX вы можете создать именованные семафоры через sem_open()
. Для неименованных семафоров, если второй параметр sem_init()
отличен от нуля, он может быть межпроцессом, хотя я не уверен точно, как должен работать неназванный межпроцессный семафор.
Обратите внимание, что в некоторых системах эти функции могут не работать с ENOSYS
, если семафоры interprocess не поддерживаются (например, OpenBSD).
В Windows вы можете создавать именованные семафоры через CreateSemaphore()
, как упоминал @sergiom.
Семафоры POSIX могут быть безымянными или . Без названия семафоры выделены в память процесса и инициализированы. Без названия семафоров можно использовать более чем одним процессом, в зависимости от того, как семафор выделен и инициализирован. [...]
Вы хотите знать: more?
На самом деле Семафор представляет собой инструмент синхронизации, но это считается как IPC bcoz она доступна более чем на 1 процесс
МОК имеют три различного использования, как обмен данными (очередь сообщений, труба, FIFO), синхронизации (файл замки, семафор, MUTEX) и сигналы.
- 1. Почему семафор рассматривается как IPC?
- 2. Без названия семафор POSIX IPC
- 3. Является ли это С ++ Семафор?
- 4. Является ли IPC замедление этого?
- 5. Является ли это поточно-безопасным механизмом?
- 6. Является ли OpenID не механизмом SSO?
- 7. Действительно ли UIDatePicker является лучшим механизмом iPhone для выбора дат?
- 8. Является ли JPA/EntityManager механизмом, похожим на RowMapper Spring?
- 9. Является ли TCP Keepalive единственным механизмом для определения неработающей ссылки?
- 10. Является ли законным инициализировать семафор ядра Linux с отрицательным числом?
- 11. Является ли Семафор правильным инструментом для захвата/сохранения видеопоследовательности?
- 12. Является ли установка IPC IPC открытой в любом официальном и/или поддерживаемом режиме?
- 13. Является ли HTTP-сервер хорошей идеей для IPC?
- 14. Глобальный Семафор игнорирует локальный Семафор
- 15. Есть ли разница между механизмом отправки клиентского браузера и механизмом обратной передачи ASP.NET?
- 16. Elmah, что является наиболее эффективным постоянным механизмом для ошибок?
- 17. UIScrollView с механизмом UITableView
- 18. реализовать семафор
- 19. Семафор Синхронизация
- 20. Содержание управления механизмом
- 21. Многопоточность Семафор
- 22. В чем разница между «механизмом базы данных» и «механизмом запросов»?
- 23. Что является предпочтительным механизмом для использования значков с метками кнопок
- 24. семафор-параллелизм
- 25. Почему семафор?
- 26. Выполняет ли эта реализация циклического буфера семафор?
- 27. Как определить, ожидает ли семафор отправки?
- 28. IPC проблема в C# - IPC уже зарегистрирован
- 29. Является ли sync.WaitGroup реализацией барьера?
- 30. Тупик в семафор функции
Начиная с версии 5.4 (ноябрь 2013 г.) OpenBSD имеет [названные семафоры] (http://www.openbsd.org/cgi-bin/man.cgi?query=sem_open&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format= HTML). См. [Это сообщение в блоге] (http://www.tedunangst.com/flak/post/sem-open-named-semaphores) – user454322
Re: «Я не уверен, как именно работает неназванный межпроцессный семафор»: Вы можете поместить семафор в общую память. Кроме того, если вы создаете неназванный межпроцессный семафор в нормальной памяти, а затем вызываете 'fork()', у вас есть IPC между родительским и дочерним процессами. В любом случае, конечно, это неназванный семафор, который можно обнаружить таким образом, что именованный семафор. Но вам вообще нужен семафор, если есть какие-то другие отношения между процессами. – ruakh