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


Реализация мьютекса на Python с MongoDB
Mutex , сокращение от взаимного исключения, - это инструмент для управления параллелизмом в программном обеспечении. Бывают случаи, когда вам нужно выполнить последовательность задач в программном приложении, и после того, как одна из них запустила последовательность, вы не хотите, чтобы другая запускалась, пока первая не будет завершена. Возьмем, к примеру, задачу публикации мультимедиа, когда пользователь загружает мультимедийный контент (изображение / аудио / видео). Сервер должен..

Демистификация Mutex в TypeScript: путь к синхронизации
Введение: Параллелизм и параллелизм — важные концепции современного программирования, позволяющие нам создавать эффективные и быстро реагирующие приложения. Однако работа с общими ресурсами в нескольких потоках или процессах может привести к возникновению условий гонки и повреждению данных. Именно здесь вступают в действие механизмы синхронизации, такие как мьютексы. В этой статье мы рассмотрим мьютексы в контексте TypeScript и погрузимся в интуитивно понятные примеры, чтобы понять их..

Обнаружение блокировок, переданных по значению в Go
Обнаружение блокировок, переданных по значению в Go Введение в `go tool vet -copylocks` Go поставляется с утилитой командной строки vet . Он запускает набор эвристик в исходном коде, чтобы найти подозрительные конструкции, такие как недоступный код или вызовы fmt.Printf , где аргументы не соответствуют желаемому формату: package main import "fmt" func f() { fmt.Printf("%d\n") return fmt.Println("Done") } > go tool vet vet.go vet.go:8:..

Синхронизируйте обновления кеша в Node.js с помощью Mutex
Эта проблема В последнее время мы много работаем с микросервисами Node.js . Некоторым конечным точкам требуется кэширование данных для повышения производительности и сохранения сетевых запросов. Кэшированные данные должны быть разделены между экземплярами, поэтому мы используем какое-то удаленное хранилище (сервер Memcached или Redis ). Используемые нами клиентские библиотеки предоставляют нам асинхронные методы как для чтения, так и для записи в кеш. Используя эти методы, мы..

Разница между Java Monitor и Lock
Эта история изначально была опубликована на моем [email protected] здесь . Как все мы знаем, в языке программирования Java каждый объект в Java связан с монитором , который поток может заблокировать или разблокировать . Каждый объект, помимо связанного монитора, имеет связанный набор ожидания . Когда объект создается впервые, его набор ожидания пуст. Элементарные действия, которые добавляют потоки и удаляют потоки из наборов ожидания, являются атомарными. Наборы..

C/C++/Python — замки
— C $ ./a.out [original owner] Setting lock... [original owner] Locked. Now exiting without unlocking. [main thread] Attempting to lock the robust mutex. [main thread] pthread_mutex_lock() returned EOWNERDEAD [main thread] Now make the mutex consistent [main thread] Mutex is now consistent; unlocking //Program source #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include..

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

Что такое мьютекс?
Мьютекс - это концепция программирования, которая часто используется для решения задач многопоточности. Мой вопрос к сообществу: Что такое мьютекс и как его использовать?
339205 просмотров
schedule 14.02.2023

Как управлять одновременным вводом/выводом доступа к файлу XML из нескольких экземпляров EXE с помощью Delphi.
У меня есть инструмент командной строки, написанный на Delphi, задача которого состоит в том, чтобы вставить узел в XML-файл, а затем немедленно выйти. Мне нужно сделать так, чтобы несколько экземпляров инструмента выполнялись одновременно и...
2221 просмотров
schedule 26.08.2022

Почему WaitForSingleObject возвращает WAIT_FAILED
MSDN говорит Если функция завершается ошибкой, возвращается значение WAIT_FAILED. Чтобы получить расширенную информацию об ошибке, вызовите GetLastError. Код: HANDLE m_mutex_handle; /**< m_mutex_handle. The handle to the...
9171 просмотров
schedule 24.07.2022

ошибка инициализации pthread_mutex_t
Я использую xcode 2.4.1 на тигре. Когда я делаю ниже, все в порядке. когда я делаю pthread_mutex_t mute; ImageMan() { dibSize=0; mute = PTHREAD_MUTEX_INITIALIZER; } Я получаю эти две ошибки error: expected primary-expression...
13835 просмотров
schedule 09.05.2023

C# — проблемы с блокировкой Mutex
У меня есть веб-приложение, которое контролирует, какие веб-приложения получают трафик от нашего балансировщика нагрузки. Веб-приложение работает на каждом отдельном сервере. Он отслеживает состояние «входа» или «выхода» для каждого приложения в...
18076 просмотров
schedule 17.10.2022

Одноэкземплярное приложение Windows Forms и как получить ссылку на него?
У меня есть приложение Windows Forms, которое позволяет одновременно запускать только один экземпляр. Я реализовал синглтон с помощью Mutex. Приложение должно запускаться из командной строки (с параметрами или без них). Приложение запускается и...
8262 просмотров
schedule 13.01.2023

Надежно обнаруживает, что другое из моих приложений работает
У меня есть два приложения, приложение WinForms и служба Windows, которые будут работать на одном компьютере. Я хочу, чтобы приложение WinForms надежно определяло, когда служба запущена. Я полностью контролирую разработку и реализацию обоих...
616 просмотров
schedule 03.02.2023

Пример повышения shared_mutex (несколько чтений / одна запись)?
У меня есть многопоточное приложение, которое должно часто читать некоторые данные, и иногда эти данные обновляются. Прямо сейчас мьютекс сохраняет доступ к этим данным безопасным, но это дорого, потому что я хотел бы, чтобы несколько потоков могли...
101914 просмотров
schedule 08.03.2022

Win32 Mutex не ждет
Я создаю приложение, реализующее межпроцессное взаимодействие. Для этой цели я установил общий буфер, который, кажется, работает нормально. Теперь мне нужен способ для приложения, генерирующего данные (написанного на C ++), чтобы сообщить...
929 просмотров
schedule 04.08.2022

Блокировка мьютекса только при записи
У меня есть многопоточное приложение C ++, которое хранит в памяти сложную структуру данных (кэшированные данные). Все отлично, пока только данные читаю. У меня может быть столько потоков, сколько мне нужно для доступа к данным. Однако...
3718 просмотров
schedule 04.07.2022

Мьютекс в общей памяти при сбое одного пользователя?
Предположим, что процесс создает мьютекс в разделяемой памяти, блокирует его и выгружает ядро, пока мьютекс заблокирован. Теперь в другом процессе, как мне определить, что мьютекс уже заблокирован, но не принадлежит ни одному процессу?
10988 просмотров
schedule 01.02.2024

Если вы разблокируете уже разблокированный мьютекс, поведение не определено?
Если вы разблокируете уже разблокированный мьютекс, будет ли его поведение небезопасным, безопасным или неопределенным? Цель вопроса связана со следующим кодом, где я не знаю, было бы лучше разблокировать мьютексы внутри блока if или сразу за его...
28794 просмотров
schedule 19.04.2023

rails - реализация простой блокировки для предотвращения одновременного редактирования пользователем одних и тех же данных
У меня есть приложение, в котором мне нужно запретить пользователям редактировать данные, пока они редактируются другим пользователем. Я пытаюсь придумать лучший способ сделать это и хотел спросить идеи. До сих пор я создал модель настроек, которая...
5165 просмотров
schedule 14.12.2022

Блокировки и мьютексы в C++
Я некоторое время изучал C++ и до сих пор не наткнулся на хорошую книгу, которая объяснила бы, что это за звери? Являются ли они неотъемлемой функцией С++? Если да, то почему они упоминаются только в такой книге, как «Язык программирования C++» Б.С....
16202 просмотров
schedule 10.06.2022

Существует ли UNIX/pthreads, эквивалентный событиям ручного сброса Windows?
Вкратце, событие ручного сброса — это конструкция синхронизации, которая находится либо в «сигнальном», либо в «несигнальном» состоянии. В сигнальном состоянии любой поток, который вызывает функцию ожидания для события не будет блокироваться, и...
2429 просмотров

Как вызвать win32 CreateMutex из .Net
Я успешно создал мьютекс .net следующим образом: SingleIns = new Mutex(true, AppName); некоторое время. Он работает в XP, Vista, но, видимо, не в Windows7. Поэтому мне нужно сделать вызов взаимодействия с библиотекой Win32, чтобы другие компоненты...
3755 просмотров
schedule 13.06.2022

Какой цикл для (;;)?
Найдено в torvalds/linux-2.6.git -> kernel/mutex.c, строка 171. Я пытался найти его в Google и т. д. безрезультатно. Что for (;;) инструктирует?
1204 просмотров
schedule 06.03.2024

Обработка исключений C++ в критической секции (pthreads)
[Редактировать: (скопировано из комментария) Как оказалось, проблема была в другом, но спасибо всем за ваш вклад.] У меня есть класс общего контейнера, который использует один мьютекс для блокировки функций push() и pop(), поскольку я не хочу...
5494 просмотров
schedule 15.06.2023

блокировка против мьютекса, проблемы масштабирования
Я столкнулся с проблемой, что у меня есть объект С# (.NET), совместно используемый некоторыми потоками. Поток может заменить объект другим. Потоки активируются из соединения TCP/IP с использованием асинхронной инфраструктуры. Последовательность:...
4905 просмотров
schedule 17.08.2022

открывать текстовые файлы в одном приложении
Я хочу написать текстовый редактор и назначить ему текстовые файлы. Моя проблема в том, что я хочу, чтобы был запущен только один экземпляр, и когда новый файл открывается, чтобы отправить имя файла первому приложению, которое уже запущено ... (я...
969 просмотров
schedule 30.08.2023