Описание тега thread-synchronization

In a multi-threaded environment thread synchronization is used to coordinate access to shared resources such as file handles, network connections, and memory
2 ответа

Синхронизация событий между двумя потоками в Qt

У меня есть две темы, скажем, нить "A" и нить "B". Поток "A" отправляет пользовательское QEvent в поток "B", и затем он должен ждать, пока поток "B" не обработает это событие. Что я сделал до сих пор: Мой класс событий: class IPCMessageEvent : publi…
29 июн '12 в 09:31
1 ответ

Запретить доступ к методу, если другой поток вызывает другой метод

Предположим, у меня есть две темы, T1 и T2. Я хотел бы убедиться, что если T1 вызывает метод A1()то T2 не может вызвать метод B1(), Аналогично, если T1 вызывает метод A2()то T2 не должен вызывать метод B2(), Как я могу достичь этого? class A { publi…
02 апр '14 в 09:00
1 ответ

Фортран и C++ потоки

У меня есть следующий код Fortran, который вызывает функцию C++ parallel_klu, parallel_klu создает восемь потоков (для выполнения другой функции под названием factor) каждый раз, когда он вызывается и после возвращения в Фортран потоки уничтожаются.…
2 ответа

Проблема выделения ресурсов библиотекаря с семафором в Java

Пожалуйста, помогите мне с этим вопросом из двух частей. Вот первая часть: (Часть 2: с тех пор я обновил код - требования немного изменились.) Я пытаюсь реализовать проблему библиотекаря в Java. Страница семафора в Википедии дает библиотечную аналог…
21 мар '11 в 06:33
1 ответ

Многопоточность с TCPclient

У меня есть проблема с многопоточным приложением TCPClient, каждый объект Client имеет поток, который получает и отправляет сообщения, и поток, который обрабатывает задачи, которые должны быть обработаны (в зависимости от сообщений)... (например, со…
2 ответа

Обновление GUI из асинхронного метода

При создании простого образца используется async/awaitЯ обнаружил, что некоторые примеры просто иллюстрируют закономерность Button1_Click как методы и свободно обновлять элементы управления GUI прямо из async методы. Так что можно считать это безопа…
1 ответ

Состояние гонки в синхронизированном массиве

Я включаю обработку списка объектов в синхронизированный блок, но оказался в состоянии гонки. Я использую синхронизированный блок неправильно или есть другие проблемы с моим кодом? Список фактически создается с помощью mapdb. private static List<…
26 дек '18 в 12:07
0 ответов

Тупик в этом методе?

Проходя через Ненадежное руководство по блокировке, я нашел эту строку Блокировки проблематичны, но не так плохи, как повреждение данных. Код, который захватывает блокировку чтения, выполняет поиск в списке, не может найти то, что ему нужно, сбрасыв…
06 апр '18 в 05:57
2 ответа

TBB spin_mutex внутри parallel_for, чтобы заблокировать критическую секцию

Концептуально, как я могу заблокировать критический раздел внутри tbb::parallel_for звоните используя tbb:spin_mutex? Критический раздел составляет менее 20 инструкций, поэтому spin_mutex идеально. Например, следующий фиктивный код объясняет ситуаци…
2 ответа

Нужна ли блокировка, если у меня есть EventWaitHandle

Изучение многопоточности из предсердия альбахари. Мне нужен замок _locker в образце ниже? Я полагаю, нет, так как _message защищен EventWaitHandle, Я прав? class TwoWaySignaling { static EventWaitHandle _ready = new AutoResetEvent (false); static Ev…
27 ноя '17 в 09:45
0 ответов

Почему я продолжаю получать java.lang.NullPointerExceptions в этих двух строках?

double[] readCoeffs(){ // Здесь начинается метод чтения коэффициента double[]coeffsArray1 = new double[3]; try { System.out.print("Please enter a real number for the A coefficent of your quadratic equation: "); coeffsArray1[0] = in.nextDouble(); Sys…
1 ответ

Как заблокировать поток на процессоре, чтобы потом его разбудить?

Как заблокировать поток на процессоре (чтобы он не использовал процессорное время), а затем пробудить его через время t без использования сигнального механизма.
2 ответа

Android: Задача последовательная на поток в JAVA

Иметь случай использования, где BroadcastReceiver События действия получены и нужно выполнять их в последовательном порядке. Здесь, как показано ниже, Event1 и Event2 могут быть получены вплотную. Работа на Event1 должна быть завершена, а затем долж…
1 ответ

Почему sem_timedwait() не просыпается?

Я работаю на встроенной системе с eCos: у меня есть 2 потока в одном процессе и 1 семафор. Поток A инициализирует семафор до 0, поэтому первая попытка его захвата блокируется. Поток A отправляет команду в Поток B, обеспечивая обратный вызов. Поток А…
12 мар '14 в 08:53
1 ответ

Синхронизация потоков между C# и C++

У меня есть приложение C# WPF, которое должно вызывать неуправляемую C++ DLL и получать от нее простое уведомление о событии. DLL будет ожидать появления события клавиатуры, которое невозможно увидеть в.NET (VK_MEDIA_PLAY_PAUSE, пока приложение не и…
05 июл '17 в 05:11
2 ответа

Планировщик потоков в Java с одним процессором?

Я читал, что планировщик потоков в Java запускает только один поток за один раз в одном процессе. Допустим, у нас есть одна JVM, работающая с одним процессором. Так что, если я запущу 10 потоков, они будут управляться одним и тем же планировщиком по…
0 ответов

Почему этот круговой дизайн буфера не требует какой-либо синхронизации?

В Википедии: в разделе CircularBuffer "Трудности-> Всегда держать один слот открытым" автор не упоминает никаких требований синхронизации между потоками: Всегда держите один слот открытым Этот дизайн всегда сохраняет один слот незанятым. Полный буфе…
1 ответ

Разница в скорости блокировки мьютекса внутри и снаружи петли

Я запутался в скорости, отличающейся между использованием mutex lock() и unlock() внутри и снаружи цикла for. Я получил значение глобальной переменной и функцию, которая увеличивает его в 1000000 раз. Эта функция запускается параллельно 5 потоками. …
2 ответа

Потребитель, производитель-мьютекс, синхронно-критическая секция

Я попробовал типичный пример многопоточности, после чего я хотел бы попробовать типичную проблему производитель-потребитель. (Производитель может производить, если есть место, а также, если потребитель не потребляет, и наоборот) Но у меня есть пробл…
2 ответа

Старому программисту на C++, новичку на Java, нужна помощь по многопоточности Java и событиям

Я "конвертирую" программу на C++ (точнее, "компонент" Borland), использующую последовательный порт, в Java. Эта программа использует поток для прослушивания последовательного порта и генерирует событие, когда получен один из заданных "символов событ…