Вопросы по теме 'futex'
почему мой многопоточный скрипт Python не работает при вызове через cgi?
У меня есть следующий многопоточный скрипт Python:
#!/usr/bin/python
from threading import Thread, Event
def doSum(num):
abc = 1
abc = abc + num
if __name__ == '__main__':
print "Content-Type: text/html\r\n\r\n"
p1 =...
412 просмотров
schedule
13.08.2022
Каков наиболее эффективный способ управления отслеживающими официантами с блокировками на основе фьютексов?
Я использовал подход с подсчетом ожидания к блокировкам на основе фьютекса: рядом с фьютексом int , имея второй int , который является счетчиком ожидания, который официанты, борющиеся за блокировку, атомарно увеличивают перед выполнением операции...
437 просмотров
schedule
18.04.2024
boost — timed_wait не ждет
Я запускаю следующий код на ОС Linux + процессор ARM + boost 1.51. Но код не работает должным образом, и вызов timed_wait() возвращается немедленно.
#include <boost/thread/condition.hpp>
#include <boost/thread/xtime.hpp>
#include...
1122 просмотров
schedule
04.10.2022
Java периодически зависает на фьютексе и очень низком выходе ввода-вывода
В настоящее время мое приложение периодически блокируется в IO, и вывод очень низкий. Я использую некоторую команду для отслеживания процесса.
Используя jstack , я обнаружил, что приложение зависает в FileOutputStream.writeBytes.
Я обнаружил...
15056 просмотров
schedule
31.03.2023
Использование libcurl в многопоточной среде приводит к ОЧЕНЬ низкой производительности, связанной с поиском DNS.
Вы должны простить довольно большой блок кода, но я считаю, что это почти минимальное воспроизведение моей проблемы. Проблема не только в example.com , но и на многих других сайтах.
Если у меня есть 4 потока, активно выполняющих сетевые запросы,...
1721 просмотров
schedule
11.07.2023
Как узнать, что вызывает сбой объекта futex?
Пытаюсь синхронизировать 5 процессов, они должны быть созданы от одного отца.
Я попытался вставить 5 идентификаторов ожидания, чтобы дождаться завершения дочернего процесса, но код никогда не достигает D4 и D5.
#include <unistd.h>...
1978 просмотров
schedule
09.07.2022
Достигает ли пара ожидания/пробуждения фьютекса семантики получения/освобождения?
Учитывая этот псевдокод, где глобально атомарное целое a инициализировано до 0:
Тема 1:
// ... some code here (X) ...
a.store(1, relaxed);
futex_wake(&a);
Тема 2:
if (futex_wait(&a, 1) == woken_up) {
assert(a.load(relaxed)...
323 просмотров
schedule
26.11.2022
Самый быстрый способ разбудить поток пула потоков
Я написал пул потоков с таким количеством потоков, сколько у меня есть (запасные ядра), чтобы избежать переключения контекста. Всякий раз, когда необходимо выполнить новую задачу, эта задача добавляется в незаблокированный кольцевой буфер для...
348 просмотров
schedule
05.06.2023
Использование std::atomic с системным вызовом futex
В C++20 мы получили возможность засыпать атомарные переменные, ожидая изменения их значения. Мы делаем это с помощью метода std::atomic::wait .
К сожалению, в то время как wait стандартизирован, wait_for и wait_until нет. Это означает,...
214 просмотров
schedule
15.12.2022