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

Как предотвратить "голодание" писателя при блокировке чтения-записи в pthreads
У меня есть несколько вопросов относительно блокировок чтения-записи в POSIX Pthreads в системе * nix, например Linux. Я хочу знать, какова предвзятость по умолчанию для блокировки чтения и записи, т.е. она предпочитает чтение записи или наоборот?...
20493 просмотров
schedule 13.10.2022

Планирование потоков C
#include <pthread.h> #include <stdio.h> #include <stdlib.h> #define NUM_THREADS 4 #define TCOUNT 5 #define COUNT_LIMIT 13 int done = 0; int count = 0; int thread_ids[4] = {0,1,2,3}; int thread_runtime[4] =...
5986 просмотров
schedule 20.11.2022

x86 linux — как создать собственный malloc с адресной подсказкой
Я хочу создать собственный malloc, который выделяет блоки памяти в заданном диапазоне адресов. Я пишу приложение pthreads, в котором потоки привязаны к уникальным ядрам на многоядерной машине. Контроллеры памяти статически сопоставлены, так что...
573 просмотров
schedule 12.03.2024

Система очереди потоков
Я работаю над своим заданием на pthreads. Я новичок и никогда раньше не касался pthreads. Есть ли какие-нибудь примеры кодов или ресурсы, которые есть у кого-нибудь из вас, которые могли бы помочь мне в моем задании? Вот подробности моего...
3270 просмотров
schedule 30.11.2022

Как я могу улучшить свое поведение в реальном времени в многопоточном приложении, используя pthreads и условные переменные?
У меня есть многопоточное приложение, использующее pthreads. У меня есть блокировка mutex() и условные переменные(). Есть два потока, один поток производит данные для второго потока, рабочего, который пытается обработать полученные данные в режиме...
517 просмотров

Условные накладные расходы на ожидание
При использовании boost::conditional_variable , ACE_Conditional или непосредственно pthread_cond_wait есть ли накладные расходы на само ожидание? Это более конкретные проблемы, которые могут возникнуть: После того, как ожидающий поток будет...
2435 просмотров
schedule 11.11.2023

Создание нескольких потоков и вызов других исполняемых файлов в Cygwin через system()?
Я работаю над проектом в Cygwin. При попытке создать несколько потоков в C, и каждый поток вызывает другой исполняемый файл через командную строку с помощью функции system(), оказывается, что все работает неправильно. В частности, код у меня такой:...
13391 просмотров
schedule 05.04.2024

тупик производитель-потребитель pthreads
Я написал следующий код: void *produce(void* arg) { buffer* buff = (buffer *) arg; while (1) { pthread_mutex_lock(&mutex); if (elements_produced == JOB_SIZE) { pthread_mutex_unlock(&mutex); pthread_exit(NULL); }...
1160 просмотров

Барьер Pthread против соединения с циклом
Итак, мой вопрос в C: каковы в основном различия (возможно, плюсы и минусы) использования барьера pthread (инициализация и ожидание ..etc) по сравнению с использованием соединения pthread в цикле. Итак, скажем, я создал 10 потоков в цикле, а затем...
3174 просмотров
schedule 16.09.2022

Как я могу проверить завершение потоков без блокировки?
У меня генерируется случайное количество потоков, и мой основной поток должен действовать как таймер в замкнутом цикле. Я хотел бы проверить, закончились ли дочерние потоки, и если да, то я хочу разорвать узкую петлю. Однако я не смог найти способ...
781 просмотров
schedule 17.02.2024

Чтение стандартного ввода из другого потока
Я использую p_threads в своем коде на Unix. В моей основной программе у меня есть узел потока, который создает 2 потока, один из которых выполняет чтение из стандартного ввода с помощью getline. Все это работает нормально. За исключением того, что...
2354 просмотров
schedule 01.04.2024

POSIX — семафоры, мьютексы, потоки C
У меня есть это домашнее задание в школу - я его выполнил, отправил и получил 0% :] ... Поэтому я хотел бы спросить, верна ли моя мысль. Например, если я хочу написать программу с потоками - мне нужно вызвать thrfunction 50 раз, и у меня есть 5...
1163 просмотров
schedule 21.11.2023

pthread_join вызывает завершение при accept()
У меня есть присоединенный поток сервера, заблокированный в accept(), ожидающем соединения. Внешне я пытаюсь завершить поток, вызывая pthread_cancel(), а затем pthread_join(). После вызова соединения моя программа завершается сигналом SIGABRT. Я,...
579 просмотров
schedule 18.03.2024

Конфликтуют ли pthread_cond_wait и pthread_mutex_unlock?
Я реализую событие ручного сброса, используя pthread в Linux, который похож на WaitForSingleEvent в Windows. я нашел этот пост событие ручного сброса Windows, похожее на pthread и следуйте ему, однако есть вещь, которая меня смущает: void...
942 просмотров
schedule 03.11.2022

Будет ли main () перехватывать исключения из потоков?
У меня довольно большое приложение, которое динамически загружает общие объекты и выполняет код в общем объекте. В качестве меры предосторожности я пробовал / уловить почти все в main . Я создал уловку для трех вещей: myException (внутреннее...
35405 просмотров
schedule 08.11.2023

Для многопоточной программы, если один поток умирает, как вы можете это узнать?
Для многопоточной программы, если один поток умирает, как вы можете это узнать? Моя идея: (1) используйте ps для проверки LWP, но вручную это неэффективно. (2) установить try-catch в каждом потоке, если он выйдет ненормально, поймать его. (3)...
603 просмотров

Почему я получаю ошибку сегментации здесь?
У меня есть следующий код, где я пытаюсь что-то записать в стек. Я пишу в нижней части стека, которую приложение еще не коснулось (обратите внимание, что стек растет вниз, а stackaddr здесь указывает на дно). Однако я получаю ошибку сегментации...
1106 просмотров
schedule 20.03.2024

В чем разница Ч/Б TCB (блок управления резьбой) и PCB (процесс)
В ядрах Linux используются блок управления процессом (PCB) и блок управления потоком (TCB). иметь время на делегированном им ЦП. В чем разница между ними? Какая информация обычно хранится в блоке управления технологическим процессом (PCB)?
19169 просмотров

Программа Pthread занимает больше времени, чем ожидалось
Привет, Я создал многопоточное приложение для умножения двух матриц с помощью pthreads, но, к моему удивлению, многопоточная программа занимает больше времени, чем я ожидал. Я не знаю, где проблема в моем коде, фрагмент кода приведен ниже:...
1119 просмотров

Linux — потоки и приоритеты планирования процессов
если мы создадим pthreads (pthread_create) или процессы (fork) с политиками планирования по умолчанию в Linux, будет ли планировщик обрабатывать процессы и потоки с одинаковым приоритетом при их планировании? допустим, есть процесс P1 с одним...
12947 просмотров
schedule 20.01.2024