5
ответов

Что такое общее использование условных переменных в C++?

Я пытаюсь узнать об условных переменных. Я хотел бы знать то, что является общими ситуациями, где условные переменные используются. Один пример находится в блокирующейся очереди, где два потока получают доступ...
вопрос задан: 19 March 2010 10:28
3
ответа

Почему функции условной переменной pthread требуют взаимного исключения?

Я читаю на pthread.h; связанные с условной переменной функции (как pthread_cond_wait (3)) требуют взаимного исключения как аргумента. Почему? Насколько я могу сказать, я собираюсь быть созданием взаимного исключения только к...
вопрос задан: 4 May 2010 08:05
3
ответа

Каково число согласия для семафоров?

(Я думаю, что) число согласия для взаимного исключения равняется 2. Каково число согласия для семафоров (как в pthread_sem_ *)? Каково число согласия для условных переменных (как в pthread_cond_*...
вопрос задан: 22 April 2009 09:47
2
ответа

Различия между Условными переменными, Взаимными исключениями и Блокировками

Например, C++ 0x взаимодействует через интерфейс, мне нелегко выяснять, когда использовать который из этих вещей (условная цена, взаимное исключение и блокировка). Кто-либо может объяснить или указать на ресурс?Заранее спасибо.
вопрос задан: 2 August 2017 14:57
2
ответа

Почему условные переменные иногда ошибочно просыпаются?

Я знал целую вечность, что способом, которым Вы используете условную переменную, является блокировка, в то время как не task_done ожидают при условии, переменная разблокировала, поскольку иногда условные переменные спонтанно проснутся. Но я имею...
вопрос задан: 8 October 2010 17:27
1
ответ

Для условных переменных все еще нужно взаимное исключение при изменении проверенного значения атомарно?

Вот типичный способ использовать условную переменную://блокировка читателя (читателей) (some_mutex); если (protected_by_mutex_var! = desired_value) some_condition.wait (some_mutex); разблокируйте (some_mutex);//...
вопрос задан: 27 March 2010 23:41
1
ответ

Используя условную переменную в ситуации производителя-потребителя

Я пытаюсь узнать об условных переменных и как использовать его в ситуации производителя-потребителя. У меня есть очередь, где один поток продвигает числа в очередь в то время как другое сование потока числа...
вопрос задан: 4 March 2010 14:27
0
ответов

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

У меня был этот код, который должен запускать мои вычисления в отдельном потоке после «сигнала» из другого потока: из потока импорта поток, класс условия MyClass (Thread): def __init __ (self): ...
вопрос задан: 15 January 2019 19:39
0
ответов

C++11 std::condition_variable: можем ли мы передать нашу блокировку непосредственно уведомленному потоку?

Я изучаю параллелизм C++11, и мой единственный предыдущий опыт работы с примитивами параллелизма был шесть лет назад на курсе операционных систем, так что будьте осторожны, если можете. В C++11 мы можем написать std::...
вопрос задан: 23 May 2017 12:13
0
ответов

Пример использования boost :: condition :: timed_wait

Есть ли у кого-нибудь пример того, как наиболее просто использовать boost :: condition :: timed_wait? Здесь, здесь и здесь есть несколько тем по этой теме, но ни в одной из них нет рабочего примера. А документ boost - это как ...
вопрос задан: 23 May 2017 11:53
0
ответов

C++11 Могу ли я гарантировать, что условие _variable.wait ()не пропустит уведомление?

У меня есть поток 1, выполняющий следующий код :unique _lock ul (m ); в то время как (условие == true )cv.wait (ul ); И поток 2, выполняющий этот код :condition = false; cv.notify _один ();...
вопрос задан: 1 November 2016 20:48
0
ответов

CONDITION_VARIABLE в Windows; не компилируется

Я пытаюсь сделать Windows-версию программы, написанной для Linux, на C ++. Чтобы программа была потокобезопасной, я использую pthread_cond_t и pthread_cond_wait в версии для Linux. Эти функции используют ...
вопрос задан: 28 May 2016 08:42
0
ответов

UiableView DidelectrowatindexPath Sopectes Double Tap Gesture от UITapgestureCognizer

Я настроил UiableView с двойным краном UITapgesturegurecognizal. Но пытается дважды нажмите клетку пользователем, просто запускает DidelectRowatindexPath дважды. Эти два должны работать вместе? ...
вопрос задан: 3 February 2016 01:07
0
ответов

переменная условия - почему вызов pthread_cond_signal () перед вызовом pthread_cond_wait () является логической ошибкой?

В учебнике по потокам POSIX https://computing.llnl.gov/tutorials/pthreads/ написано, что это логическая ошибка. мой вопрос почему это логическая ошибка? В моей программе мне нужно использовать эти сигналы, ...
вопрос задан: 27 August 2015 07:26
0
ответов

Как можно реализовать условную переменную с использованием семафоров?

Некоторое время назад я думал о том, как реализовать различные примитивы синхронизации в терминах друг друга. Например, в потоках pthreads вы получаете мьютексы и условные переменные, и из них можно ...
вопрос задан: 7 August 2015 14:44
0
ответов

Сравнение переменных состояния Windows и события

Мы можем использовать либо примитив новой переменной условия, либо событие Windows для синхронизации потоков в WinNT v6 .x или новее. Рассмотрим следующие два подхода: мы хотим, чтобы рабочие процессы выполнялись в ...
вопрос задан: 16 September 2013 09:29
0
ответов

переменная состояния [закрыто]

Каковы принципы использования условной переменной при синхронизации процессов операционных систем?
вопрос задан: 19 August 2013 14:27
0
ответов

В чем разница между ожиданием занятости и опросом?

Из статьи Википедии об опросе. Опрос, или операция опроса, в компьютерных науках относится к активной выборке состояния внешнего устройства клиентской программой как к синхронному действию. ...
вопрос задан: 19 September 2012 03:51
0
ответов

Управление многопоточным потоком с помощью условия _переменной

Я еще не окунулся в многопоточность C++11, но я пытаюсь, чтобы несколько потоков ждали некоторого события в основном потоке, а затем все сразу (продолжали обрабатывать то, что...
вопрос задан: 11 July 2012 23:16
0
ответов

В чем разница между notify_all () и notify_one () в std :: condition_variable?

В настоящее время я реализую многопоточный проект с использованием std :: thread на C ++ 11. Я использую std :: condition_variable для синхронизации потоков. Более подробно, одна потребительская функция вызывает функцию-член wait () для ...
вопрос задан: 26 January 2012 09:01
0
ответов

В чем разница между std :: condition_variable и std :: condition_variable_any?

Мне, вероятно, не хватает чего-то очевидного, но я не вижу никакой разницы между std :: condition_variable и std :: condition_variable_any. Зачем нам и то и другое?
вопрос задан: 6 January 2012 13:29
0
ответов

Когда можно использовать переменную cond для синхронизации ее собственного уничтожения / отмены отображения?

Согласно POSIX, должно быть безопасно уничтожить инициализированную переменную условия, при которой ни один поток в настоящее время не заблокирован. Кроме того, для разблокировки указываются операции сигнала и широковещательной передачи ...
вопрос задан: 29 September 2011 14:00
0
ответов

Как использовать переменную условия

В книге интерфейса программирования Linux есть фрагмент кода (производитель / потребитель) чтобы показать, как работает условная переменная: static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t cond = ...
вопрос задан: 1 June 2011 19:05
0
ответов

Передача сигналов условной переменной (pthreads)

Предположим, некоторая условная переменная «cond» связана с мьютексной переменной «mutex». Если поток находится в режиме ожидания на cond после вызова pthread_cond_wait (& cond, & mutex), а другой поток имеет…
вопрос задан: 3 March 2011 13:03
0
ответов

Вызов pthread_cond_signal без блокировки мьютекса

Я где-то читал, что мы должны заблокировать мьютекс перед вызовом pthread_cond_signal и разблокировать мьютекст после его вызова: процедура pthread_cond_signal () используется для сигнализации (или пробуждения) другого ...
вопрос задан: 28 December 2010 06:52
0
ответов

Что, если системное время изменится, когда я выполняю timed_wait с продолжительностью?

При использовании timed_wait для boost :: condition_variable с продолжительностью, истечет ли время ожидания по истечении времени ожидания, даже если пользователь (или ntp) изменит системное время? Например, boost :: posix_time :: ...
вопрос задан: 7 December 2010 20:10
0
ответов

Какой самый быстрый Метод без гонок для опроса очереди без блокировки?

Допустим, у нас есть очередь с одним потоком-производителем и одним потоком-потребителем без блокировки, и что производитель может длительное время не производить никаких данных. Было бы полезно позволить потоку-потребителю ...
вопрос задан: 21 November 2010 04:27