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

Как я могу реализовать java-подобную синхронизацию (мониторы) с помощью Win32 API?
Каждый объект Java (и его класс) имеет связанный монитор. В терминах pthread монитор Java эквивалентен комбинации повторно входимого мьютекса и переменной условия. Для блокировки Win32 API предоставляет объекты Mutex (которые реентерабельны, но...
1163 просмотров

Чтение и запись мьютекса в C ++
Это вопрос для интервью. Как реализовать мьютекс чтения / записи? Будет несколько потоков чтения и записи в ресурс. Я не знаю, как это сделать. Если потребуется какая-либо информация, дайте мне знать. Обновление: я не уверен, действительно ли /...
9990 просмотров
schedule 28.09.2021

Изоляция session0 в Windows 2008 / windows7
У меня есть приложение на C ++, в котором для синхронизации используются мьютекс, события, семафоры. Хотя это приложение размещено на сервере Windows 2008 / Windows 7, оно не запускается с удаленного клиента. Я использовал telnet-клиент для...
689 просмотров
schedule 09.11.2021

Лучшая замена именованных мьютексов для синхронизированного доступа к каждому ресурсу
for (int i = 0; i < 100; i++) { // If current thread needs resource(i) then Mutex mutex = new Mutex(false, "Mutex" + i.ToString()); mutex.WaitOne(); // synchronized access to resource(i)...
166 просмотров
schedule 19.11.2021

PTHREAD_COND_INITIALIZER против шины
У меня есть следующий код static pthread_mutex_t watchdogMutex = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t watchdogCond = PTHREAD_COND_INITIALIZER; и я получаю следующие ошибки / предупреждения при использовании Splint...
425 просмотров
schedule 23.11.2021

как установить приоритет для получения мьютекса в C / c ++
У меня 3 процесса (равный приоритет) P1 P2 P3 (таймер) приоритет получения мьютекса следующий: P1(1 priority), P2(2 priority), P3(timer)(3 priority) Если предположим, что p3 приходит и получает мьютекс, тогда приходит p2 и ждет...
3603 просмотров
schedule 08.10.2021

Почему метод TMutex Acquire () не блокирует мьютекс?
Пока у меня есть этот код: ****SimpleForm.h**** class TForm1 : public TForm { __published: // IDE-managed Components TMemo *Memo1; TButton *Button1; void __fastcall Button1Click(TObject *Sender); private: // User declarations...
1322 просмотров
schedule 30.11.2021

Чтение общих данных внутри обработчика сигналов
Я нахожусь в ситуации, когда мне нужно прочитать двоичное дерево поиска (BST) внутри обработчика сигнала (обработчик сигнала SIGSEGV , который, насколько мне известно, относится к базе потоков). BST может быть изменен другими потоками в приложении....
3148 просмотров
schedule 08.10.2021

Закрыть дескриптор мьютекса в другом процессе
Я хочу закрыть дескриптор мьютекса, находящегося в другом процессе, чтобы я мог запустить более одного экземпляра приложения. Я уже знаю, что это можно сделать, см. Process Explorer . Пример: Windows Minesweeper (Windows 7) использует мьютекс,...
4267 просмотров
schedule 09.09.2021

Boost, указатель на мьютекс, это сработает? boost :: mutex и std :: vector, некопируемая проблема
Следующий код выдаст мне ошибку, поскольку boost :: mutex не копируется, а xyz.push_back () - конструктор копирования. class XYZ { public: double x; boost::mutex x_mutex; } vector<XYZ> xyz; xyz.push_back(XYZ());...
3709 просмотров
schedule 02.10.2021

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

Как убедиться, что запущен только один экземпляр приложения Java?
Я хочу, чтобы мое приложение проверяло, запущена ли уже другая версия самого себя. Например, demo.jar запущен, пользователь щелкает, чтобы запустить его снова, но второй экземпляр понимает: «Ой, подождите, уже запущен demo.jar ». и выходит с...
15544 просмотров
schedule 27.11.2021

отладка потоков pthread с помощью gdb
Я пытаюсь отладить очень редко встречающийся тупик и сузил его до проблемы с pthread_mutex, который имеет тип 1 (рекурсивный). Я хочу отследить, откуда исходит этот мьютекс, и, поскольку весь наш код использует обычные мьютексы, я подумал, что имеет...
2698 просмотров

Может ли pthread_mutex_lock () разблокироваться до того, как pthread_cond_wait () разблокируется?
Представьте, что поток блокирует условную переменную: pthread_mutex_lock (mutex); do_something (); pthread_cond_wait(cond, mutex); // [1] do_something_else (); pthread_mutex_unlock (mutex); Мьютекс разблокирован, и другой поток, пытающийся...
820 просмотров

Взаимный алгоритм Петерсона-2
Бесконкурентная сложность двухпроцессного алгоритма Петерсона равна 4 (выполняет 3 двух обращения к памяти совместно используемых регистров в коде входа и один в коде выхода). Как я могу изменить алгоритм 2-proccess Петерсона так, чтобы его...
189 просмотров
schedule 14.10.2021

Необъяснимая взаимоблокировка мьютекса pthread
Похоже, что в моем приложении возникла тупиковая ситуация, вызванная определенным мьютексом. Однако код явно разблокирует мьютекс почти сразу после того, как он заблокирован, и нет никаких других зависимостей мьютекса между блокировкой и...
110 просмотров

Освободить / получить семантику по std :: mutex
Я читаю модель памяти C ++, определенную в n3485, и в ней говорится о семантике выпуска / получения, которая, насколько я понимаю, а также из определений приведено в этом блоге : Получить семантику - это свойство, которое может применяться...
2182 просмотров
schedule 25.09.2021

Смешивание мьютексов Boost с собственными потоками?
У меня есть код, использующий собственные потоки. Я хотел бы изменить крошечную его часть, но использовать некоторые функции повышения. В частности, я хотел бы использовать функции boost :: mutex :: scoped_lock () и boost :: condition notify () и...
476 просмотров

Усиление блокировки Mutex Scoped Lock
Я читал руководство по Boost Mutex на drdobbs.com и нашел этот фрагмент кода: #include <boost/thread/thread.hpp> #include <boost/thread/mutex.hpp> #include <boost/bind.hpp> #include <iostream> boost::mutex io_mutex; void...
53577 просмотров
schedule 23.09.2021

C ++ - запись в статические переменные из разных объектов требует мьютекса?
У меня есть базовый класс со статической переменной std :: map, как показано ниже: class base { public : static std::map <int, int> my_statistics; } У меня есть производный класс, который читает, обновляет и записывает в эту...
279 просмотров
schedule 11.10.2021