1. Например существует 3 процесса: №1, №2, №3. Например первый процесс лочит семафор, второй и третий процесс блокируются, ожидая этого семафора. После того, как первый процесс освободил семафор, какой из процессов №2 или №3 получит семафор следующим? И зависит ли это от чего-нибудь?
2. Если процесс залочил семафор, то после того как мы его убьем (например kill -9 ) разлочится ли семафор?
2. При убивании процесса в винде, она освобождает все ресурсы, которые ему выделяла, так что и семафор тоже должен разлочиться. А в линухе - хз, не работал.
При удалении процесса все ресурсы выделенные ему действительно уничтожаются, но семафор выделяется внутри ядра, а потому после умирания процесса семафор все равно остается. Я попробывал написать программку: после умирания процесса значение семафора не меняется. Все конечно делалось под никсы.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения