Вопросы по теме 'critical-section'
Критическая секция
я не уверен в чем-то.
когда я использую критическую_секцию/мьютекс/семафор в С++, например, как предотвращается проблема busy_wait?
я имею в виду, что когда поток достигает критической секции, а критическая секция занята другим потоком, что...
468 просмотров
schedule
20.08.2023
Сценарий: глобальные переменные в DLL, которые используются многопоточным приложением.
Несколько месяцев назад я наткнулся на интересный сценарий, заданный парнем (в orkut). Хотя я придумал «непереносимое» решение этой проблемы (протестировал его с небольшим кодом), но все же хотел бы знать, что вы, ребята, можете сказать и предложить....
1802 просмотров
schedule
02.03.2022
Почему мое многопоточное приложение иногда зависает при закрытии?
Я использую несколько критических разделов в своем приложении. Критические секции предотвращают одновременное изменение больших двоичных объектов данных и доступ к ним из разных потоков.
Насколько я знаю, все работает правильно, за исключением...
3045 просмотров
schedule
24.12.2022
В чем разница между атомарным и критическим в OpenMP?
В чем разница между атомарным и критическим в OpenMP?
я могу сделать это
#pragma omp atomic
g_qCount++;
но это не то же самое, что
#pragma omp critical
g_qCount++;
?
85984 просмотров
schedule
03.02.2022
Как инициализируется критическая секция, связанная с каждым объектом?
Когда ты говоришь
lock (obj)
...
.NET использует критическую секцию в obj для синхронизации следующих операторов.
Как инициализируется этот критический раздел? (например, инициализируется ли он во время строительства или лениво?)
153 просмотров
schedule
01.07.2022
Понимание семафоров
Я читаю о семафорах в «Концепции операционных систем» (для тех из вас, кто это знает), и мне казалось, что я полностью понимаю семафоры, пока не прочитал этот отрывок:
Важнейшим аспектом семафоров является то, что они выполняются атомарно. Мы...
10023 просмотров
schedule
03.02.2023
защита критической секции мьютексом
Допустим, у меня есть общий объект, часть кода которого защищена критическим разделом, и более 1 потока обращаются к объекту для чтения/записи. Когда поток находится внутри критической секции, другие потоки ждут. Как только поток выходит из CS, ОС...
826 просмотров
schedule
05.03.2022
Синхронизация потоков на основе значения
Я пытаюсь синхронизировать потоки в критической секции, но мне нужно сделать это на основе значения. Например, если у вас есть потоки, выполняющие работу, представляющую разных людей (т. е. Боба, Фреда, Билла), тогда потоки для Боба и Билла могут...
127 просмотров
schedule
28.02.2022
Как я могу предоставить право собственности на мьютекс определенному потоку?
Представьте, что у меня заблокирован мьютекс. Существует неограниченное количество других потоков, ожидающих блокировки мьютекса. Когда я разблокирую мьютекс, один из этих потоков будет выбран для входа в критическую секцию. Однако я не могу...
312 просмотров
schedule
03.02.2022
Как работают бинарные семафоры?
Я изучал бинарные семафоры, когда возник следующий вопрос:
Предположим, что есть 3 параллельных процесса и 3 бинарных семафора... Семафоры инициализируются как S0=1, S1=0, S2=0. Процессы имеют следующий код:
Process P0:...
699 просмотров
schedule
26.04.2022
Синхронизация процессов
Факторы, определяющие часть кода как критическую секцию
Насколько я понимаю, process synchronization используется с использованием структур данных ядра, таких как semaphores , для предотвращения одновременного доступа к critical section кода....
1337 просмотров
schedule
11.10.2022
Алгоритм планировщика ЦП
Я пытаюсь смоделировать, что два моих процесса, которые выполняются на двух разных процессорах, входят в критическую секцию. Когда инструкция обоих процессов становится «CS», я хотел бы отправить один из них в заблокированную очередь. Однако, даже...
315 просмотров
schedule
06.06.2023
как безопасно увеличивать при использовании потоков в java
привет, ребята, мне было интересно, могу ли я получить небольшой совет, я пытаюсь написать программу, которая может подсчитывать, сколько потоков ожидает обработки функции, а затем, как только достигается определенное число, она освобождает весь...
362 просмотров
schedule
09.02.2024
Как объект Critical Section работает точно для нескольких методов
СЛУЧАЙ I:
Сценарий: у меня есть два разных метода, каждый из которых использует общий глобальный ресурс. К Method1() обращаются ThreadA и Method2() многие другие потоки, но не ThreadA.
Требование . Мне нужно, чтобы ThreadA...
1359 просмотров
schedule
17.07.2022
OpenMP выявляет тупик в критической конструкции
Я пытаюсь точно понять, почему возникает тупик, когда в параллельной области критическая конструкция вложена в критическую конструкцию.
Я воспользовался следующими ресурсами: этот источник пишет автор:
В OpenMP это может произойти, если...
2015 просмотров
schedule
28.02.2023
Многопоточность C++ — потокобезопасный код
Я работаю над игровым движком, который работает с .dll. Внутри есть экспортированная функция, которая возвращает ссылку на объявленный в ней статический класс, как показано ниже:
__forceinline __declspec(dllexport) STATE*...
226 просмотров
schedule
02.03.2024
Приостановка потока со свойством
У меня есть объект TThread, и я хочу иметь возможность запускать/останавливать поток с помощью кнопки в главной форме программы. Я искал способы сделать это, и до сих пор у меня есть следующие идеи:
Завершите и освободите поток, когда...
747 просмотров
schedule
28.03.2022
Как инструкция test_and_set() могла работать на мультипроцессоре?
Уважаемое сообщество, занимающееся переполнением стека! Я читаю «Концепции операционной системы» (2012 г.) Зильбершаца, Галвина и Ганя, там говорится: «Если две инструкции test_and_set() выполняются одновременно (каждая на разных процессорах), они...
438 просмотров
schedule
08.06.2024
Защита критического раздела в многопоточной программе
У меня есть многопоточная программа Python (финансовая торговля), в которой определенные потоки выполняют критические разделы (например, в середине выполнения сделки). Поток, выполняющий критические разделы, является потоком демона. Основной поток...
378 просмотров
schedule
24.05.2022
Критическая секция Windows — как полностью отключить вращение
Я пытаюсь установить счетчик спинов для CRITICAL_SECTION на ноль разными способами:
int main()
{
CRITICAL_SECTION cs;
::InitializeCriticalSection(&cs);
printf("Spin count by default %08X\n", cs.SpinCount);...
778 просмотров
schedule
27.12.2022