Вопросы по теме 'mutex'
Как я могу реализовать java-подобную синхронизацию (мониторы) с помощью Win32 API?
Каждый объект Java (и его класс) имеет связанный монитор. В терминах pthread монитор Java эквивалентен комбинации повторно входимого мьютекса и переменной условия.
Для блокировки Win32 API предоставляет объекты Mutex (которые реентерабельны, но...
1163 просмотров
schedule
23.11.2021
Чтение и запись мьютекса в 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 просмотров
schedule
09.09.2021
Может ли 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 просмотров
schedule
02.12.2021
Взаимный алгоритм Петерсона-2
Бесконкурентная сложность двухпроцессного алгоритма Петерсона равна 4 (выполняет 3 двух обращения к памяти совместно используемых регистров в коде входа и один в коде выхода). Как я могу изменить алгоритм 2-proccess Петерсона так, чтобы его...
189 просмотров
schedule
14.10.2021
Необъяснимая взаимоблокировка мьютекса pthread
Похоже, что в моем приложении возникла тупиковая ситуация, вызванная определенным мьютексом. Однако код явно разблокирует мьютекс почти сразу после того, как он заблокирован, и нет никаких других зависимостей мьютекса между блокировкой и...
110 просмотров
schedule
27.11.2021
Освободить / получить семантику по std :: mutex
Я читаю модель памяти C ++, определенную в n3485, и в ней говорится о семантике выпуска / получения, которая, насколько я понимаю, а также из определений приведено в этом блоге :
Получить семантику - это свойство, которое может применяться...
2182 просмотров
schedule
25.09.2021
Смешивание мьютексов Boost с собственными потоками?
У меня есть код, использующий собственные потоки. Я хотел бы изменить крошечную его часть, но использовать некоторые функции повышения. В частности, я хотел бы использовать функции boost :: mutex :: scoped_lock () и boost :: condition notify () и...
476 просмотров
schedule
27.09.2021
Усиление блокировки 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