Публикации по теме 'mutex'


Безопасность потоков с помощью std::shared_ptr
В C++ std::shared_ptr — это интеллектуальный указатель, который позволяет нескольким объектам совместно владеть одним ресурсом. Это может быть полезно для таких вещей, как кэширование или общие структуры данных. Когда создается новый shared_ptr, он указывает на динамически размещаемый объект и устанавливает счетчик ссылок равным 1. Всякий раз, когда создается другой shared_ptr, указывающий на тот же объект, его счетчик ссылок увеличивается на 1. Когда shared_ptr выходит за пределы области..

Мьютексы в JavaScript
Что такое мьютекс? В простой форме мьютекс - это хранитель вашего ценного ресурса. В комнате может находиться только один человек. Подробности можно найти здесь . Зачем они нам нужны? Когда мы запускаем вещи параллельно, все становится сложнее. Параллельные задачи иногда пытаются записать в переменную одновременно. Это как если бы два человека использовали одну и ту же клавиатуру, но писали разные вещи. Дело не только в этом. Подробную информацию вы можете найти здесь ...

Решение Mutex для одновременных запросов AXIOS
Если в вашем приложении есть одновременные вызовы API, в которых вы хотите реализовать решение мьютекса для управления порядком запросов, вы можете использовать это решение службы блокировки для его реализации. Прежде чем мы начнем, вот ссылка на git-repo со всем кодом и примерами из этой статьи. Не стесняйтесь оформлять / использовать / вилку. lokeshpathrabe / APILockService Эта служба может использоваться для блокировки вызовов API из браузера с..

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

Нужен ли мне семафор при чтении из глобальной структуры?
Довольно простой вопрос, но я не вижу, чтобы его где-нибудь задавали. Допустим, у нас есть глобальная структура (в C), например: struct foo { int written_frequently1; int read_only; int written_frequently2; }; Мне кажется очевидным,...
4498 просмотров

Проблема взаимного исключения
Пожалуйста, взгляните на следующий псевдокод: boolean blocked[2]; int turn; void P(int id) { while(true) { blocked[id] = true; while(turn != id) { while(blocked[1-id]) /* do...
4242 просмотров
schedule 01.08.2023

Разыскивается: синхронизация между процессами, которая не страдает от AbandonedMutexException.
У меня есть несколько потоков, которые приобретают мьютексы, а затем завершаются. Мьютексы хранятся в основном репозитории и должным образом освобождаются, когда программа существует. Однако, когда поток, выделивший мьютекс, существует, мьютекс...
1906 просмотров

Применяется ли блокировка мьютекса также к вызываемым функциям?
Если мьютекс определен внутри функции, применяется ли его блокировка к функциям, вызываемым из этой функции? то есть void f () { Mutex mutex; g(); } Применяется ли блокировка к любым изменениям данных в g()? Кроме того,...
11204 просмотров
schedule 16.02.2023

Почему Boost scoped_lock не разблокирует мьютекс?
Я использовал boost::mutex::scoped_lock таким образом: void ClassName::FunctionName() { { boost::mutex::scoped_lock scopedLock(mutex_); //do stuff waitBoolean=true; } while(waitBoolean == true ){ sleep(1);...
25647 просмотров
schedule 06.07.2023

Накладные расходы на мьютексы pthread?
Я пытаюсь сделать C ++ API (для Linux и Solaris) поточно-ориентированным, чтобы его функции можно было вызывать из разных потоков без нарушения внутренних структур данных. В моем текущем подходе я использую мьютексы pthread для защиты всех обращений...
30617 просмотров
schedule 30.11.2022

Стоит ли внедрять бенафоры в современные ОС?
Когда я был программистом BeOS, я прочитал эта статья Бенуа Шиллингса, описывающая, как создать «бенафор»: метод использования атомарной переменной для обеспечения критической секции, который позволяет избежать необходимости захвата/освобождения...
1511 просмотров
schedule 21.04.2023

Мьютексы действительно медленнее?
Я так много раз читал здесь и повсюду в сети, что мьютексы работают медленнее, чем критический раздел / семафоры / вставка-ваш-предпочтительный-метод-синхронизации-здесь. но я никогда не видел ни одной бумаги, исследования или чего-то еще,...
8422 просмотров
schedule 15.10.2022

Win32: как получить процесс / поток, владеющий мьютексом?
Я работаю над приложением, у которого в любой момент времени должен существовать только один экземпляр. Для этого есть несколько возможностей: Проверьте запущенные процессы на предмет соответствия имени нашего EXE (ненадежно) Найдите главное...
15366 просмотров

Нужно ли блокировать объект при чтении с него?
Я пишу программу, в которой есть объект, совместно используемый несколькими потоками: A) Несколько потоков записи записывают в объект (все выполняющие одну и ту же функцию) Б) поток чтения, который обращается к объекту каждые 5 секунд C)...
22008 просмотров
schedule 26.05.2023

бионические (android libc) варианты мьютекса
Какие типы мьютексов поддерживает bionic libc? рекурсивный приурочен адаптивный проверка ошибок
2486 просмотров
schedule 24.01.2023

Создание именованного мьютекса в С# exe и доступ к нему dll в С++
У меня есть два exe-файла, один на C #, а другой - exe-файл vc++. Оба этих exe должны получить доступ к файлу. Поэтому я планирую создать именованный мьютекс в С#. vc++, как я могу получить доступ к этому именованному мьютексу. Может ли...
1687 просмотров
schedule 17.10.2022

Использование мьютекса pthreads и условных переменных
Проблема, по которой я ищу помощи, написана в пункте №. 7. Перед этим я описываю структуру своего кода. Из main() создаются два потока thread1 и thread2, которые инициализируются двумя функциями fun1() и fun2() соответственно. У меня...
2170 просмотров
schedule 09.12.2022

Сбой потока с заблокированным мьютексом
Есть сценарий, у меня есть два потока, оба используют один и тот же мьютекс. Один поток заблокировал мьютекс и разбился. Каким будет состояние мьютекса? Он все еще заблокирован, и второй поток никогда не владеет этим мьютексом? Имеется в виду...
4396 просмотров
schedule 19.02.2024

Правильное использование мьютексов в Python
Я начинаю с многопоточности в python (или, по крайней мере, возможно, что мой скрипт создает несколько потоков). будет ли этот алгоритм правильным использованием мьютекса? Я еще не тестировал этот код и, вероятно, он даже не сработает. Я просто...
146340 просмотров
schedule 14.04.2023

Максимальное использование рабочего потока
Чтобы решить проблему (и лучше понять многозадачность), я написал реализацию небольшого пула потоков. Этот пул потоков запускает несколько рабочих потоков, которые извлекают задачи из очереди по мере их добавления клиентом пула потоков. Для целей...
324 просмотров

Как удалить мьютекс в WinXP
У нас есть Mutext в нашем приложении С# .Net, созданном с помощью следующего оператора: новый Mutex(true, "MutexName", out pobjIOwnMutex); На самом деле у нас нет проблем с этим, но с некоторых пор Приложение больше не может владеть этим...
514 просмотров
schedule 22.01.2023

Взаимное исключение и семафоры
Я пишу программу (для домашнего задания), которая имитирует унисекс-ванную. Только 4 человека допускаются одновременно, и мужчины и женщины не могут войти, если другой пол уже использует ванную комнату. Моя проблема в том, что в ванной могут...
9607 просмотров
schedule 05.06.2022

test&set и test&test&set реализации LOCK в ASM для C
Ищу некоторые реализации test&set и test&test&set LOCK на сборке ASMx86 (архитектура x86) для использования в моих C-кодах. Мне не нужны реализации на C, а простая сборка. Пожалуйста, укажите мне некоторые полезные. Заранее спасибо!
1360 просмотров
schedule 11.03.2023

Временная блокировка мьютекса WinAPI
Как заблокировать мьютекс (критическую секцию) на некоторое время? Есть ли для этого функция API? Насколько я вижу, в винде ничего подобного нет. Если да, то возможно ли реализовать это вручную? Спасибо.
1203 просмотров
schedule 19.07.2022