Вопросы по теме 'semaphore'

Использование именованного системного семафора в качестве события для запуска чего-либо в другом процессе
У меня есть поток, который работает постоянно: private void DoSomeStuffThread() { Semaphore sem = new Semaphore(0, 3, "sem_DoStuff"); sem.WaitOne(); do { //do some stuff } while (sem.WaitOne()); } Я хочу иметь возможность выполнять данные...
2714 просмотров
schedule 28.10.2021

межпроцессные семафоры в Windows
есть ли какой-нибудь семафор для процессов в Windows API? Я нашел этот но это только для потока, как я понял, заранее спасибо за любую помощь
6372 просмотров
schedule 20.11.2021

Производитель / Потребитель, использующий семафор; зайти в тупик
Согласно http://en.wikipedia.org/wiki/Producer-consumer_problem , я хочу для моделирования проблемы P / C с помощью семафора. Я захожу в тупик и не знаю, в чем проблема. public static void main(String[] args) { CustomBlockingQueue...
3316 просмотров
schedule 11.09.2021

Как правильно ждать семафора?
Я думал, что следующий код позволит всем 10 потокам работать по два за раз, а затем вывести «готово» после того, как Release() будет вызван 10 раз. Но этого не произошло: int count = 0; Semaphore s = new Semaphore(2, 2);...
8881 просмотров
schedule 21.10.2021

Можем ли мы добиться семафороподобного поведения, используя примитивы синхронизации в библиотеке pthread?
Я прошел через API семафоров, предлагаемый в Linux. Простое использование семафора было бы sem_wait() //do something sem_post() Можно ли добиться аналогичного поведения, используя доступные примитивы синхронизации в библиотеке...
327 просмотров
schedule 01.12.2021

Синхронизированная система через unix ME и семафоры счетчиков
Мне очень тяжело работать с синхронизацией. Моя текущая архитектура должна быть такой: N рабочих процессов работают во взаимном исключении над общим сегментом памяти. Когда все они выполнили свою работу, 1 "экранный" процесс показывает состояние...
299 просмотров

Реализация семафора: почему требуется отключение прерываний вместе с test-and-set?
Рассматривая этот пример реализации семафоров (для систем SMP), я понимаю, что для многопроцессорных атомарных проверок требуется проверка и установка. Однако, как только мы добавим атомарные проверки, разве отключение прерываний не будет избыточным?...
4442 просмотров

Где находятся именованные семафоры в ОС Windows
В ОС Linux именованные семафоры создаются в / dev / shm / location с помощью sem_open API. Я создаю именованный семафор в Windows с помощью CreateSemaphore. В каком месте в Windows создаются именованные семафоры?
1261 просмотров
schedule 27.09.2021

синхронизация: потоки выполняют две критические секции в одном порядке
У меня такой код: synchronized block1 { //only one thread in the block } {lot of code where synchronization not necessary} synchronized block2 { //only one thread in the block. //All the threads that executed block1 before this...
913 просмотров

Семафор Swift не ждет завершения функции перед вызовом пользовательского интерфейса
Я пытаюсь отложить переход до тех пор, пока не получу ответ от reverseGeocodeLocation звонка. Однако при использовании точек останова для проверки фактического изменения значения это все равно происходит после перехода пользовательского интерфейса....
933 просмотров
schedule 14.10.2021

Производитель / Потребитель, использующий семафор
Я начинаю свои исследования с синхронизированных потоков, используя semaphore . Я только что провел тест с использованием двоичного семафора (только 2 потока), и все в порядке. Представьте себе ланхаус с 3 компьютерами (потоками) и несколькими...
749 просмотров
schedule 10.11.2021

В чем смысл CountDownLatch в Java?
CountDownLatch в java - это утилита синхронизации высокого уровня, которая используется для предотвращения начала обработки определенного потока до тех пор, пока все потоки не будут готовы. Но Semaphore может делать то же самое. Итак, в чем...
576 просмотров

Почему при инверсии приоритета процесс с высоким приоритетом не может вытеснить процесс со средним приоритетом?
Как в книге «Принципы операционной системы» Зильбершатца / Гальвина (9-е издание), так и в статье в Википедии об инверсии приоритета говорится, что при инверсии приоритета высокоприоритетный процесс не может использовать ресурс, удерживаемый процессом...
578 просмотров

Можно ли использовать C ++ 11 condition_variables для синхронизации процессов?
Я пытаюсь узнать о C ++ 11 std::condition_variable . Я прочитал статьи на cppreference.com и cplusplus.com , а также В C ++ 0x нет семафоров? Как синхронизировать потоки? . Мой вопрос, на который, я думаю, не получил ответа в трех упомянутых...
1215 просмотров

Единый кольцевой буфер производителя / потребителя, который блокирует только потребителя
Я хотел бы реализовать буфер с одним производителем и одним потребителем, где только потребитель может быть заблокирован. Важной деталью здесь является то, что производитель может сбросить обновление, если очередь заполнена. Я рассматривал...
841 просмотров
schedule 25.11.2021

Заполнение eltType нулевыми значениями
Итак, у меня проблема с часовней, которую я не могу понять. У меня есть очередь, размер которой можно установить. Единственное, что он устанавливает размер и заполняет очередь кучей нулей (что имеет смысл). Я пытаюсь заполнить очередь нулевыми, а...
159 просмотров

Ожидают ли мьютексы и семафоры Busy в системах LINUX?
Недавно я узнал, что системный вызов Sleep в ядре Linux приостанавливает текущий вызывающий поток до состояния приостановлено / заблокировано , что означает, что они не будут использовать ЦП до указанного времени. истекло. - отлично понял ....
5182 просмотров

Проблемы с семафорами
Я пытаюсь понять семафоры и не могу решить проблему с моей реализацией с указанными ограничениями. Я использую 6 потоков с ограничениями: 0,1,2 завершить работу как можно скорее; 3 должен ждать 0 и 1; 4 должны дождаться 1 и 2 перед запуском; 5...
157 просмотров
schedule 06.10.2021

Найдите максимальное количество семафоров, которое может быть открыто одним процессом за раз
Чтобы найти максимальное количество семафоров, которые может быть открыт одним процессом за раз, я не понял, почему приведенный ниже код _SC_SEM_NSEMS_MAX возвращает -1 . int main(void) { long max_limit = 0; errno = EINVAL;...
761 просмотров
schedule 25.09.2021

Как в реальной жизни используются именованные семафоры?
В UNIX-подобных системах у нас есть как безымянные семафоры, так и именованные семафоры. Практически для всего, что я делал, поскольку мне приходилось передавать указатель на фактические данные для доступа, мне всегда удавалось передать семафор...
131 просмотров
schedule 16.11.2021