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

Как присоединиться к ветке, которая висит на блокировке ввода-вывода?
У меня есть поток, работающий в фоновом режиме, который считывает события с устройства ввода в режиме блокировки, теперь, когда я выхожу из приложения, я хочу правильно очистить поток, но я не могу просто запустить pthread_join (), потому что поток...
18456 просмотров
schedule 08.05.2024

C: как работает pthread dataspecific?
Я не уверен в том, как работает pthread dataspecific: учитывая следующий код (найденный в Интернете), означает ли это, что я могу создать, например, 5 потоков в основном, иметь вызов func только в некоторых из них (скажем, 2 ) эти потоки будут иметь...
2467 просмотров
schedule 17.03.2023

Как получить SPID в Linux 2.6 с С++
У меня вопрос: есть ли способ получить SPID в Linux 2.6 из приложения C++? Когда я делаю «ps -amT», я вижу потоки в процессе: [email protected]:~# ps -amT PID SPID TTY TIME CMD 1120 - pts/1 00:00:20 sncmdd - 1120 -...
3139 просмотров
schedule 11.11.2023

событие на основе pthread, пробуждающее только ожидающие потоки
В моей программе на C++ у меня есть класс CEvent с функциями-членами триггера и ожидания, основанными на pthreads (работающих в Linux). Реализация вполне очевидна (т.е. много примеров в сети), если есть один ожидающий процесс. Однако теперь мне...
5326 просмотров
schedule 20.11.2022

Как разбудить select() при закрытии сокета?
В настоящее время я использую цикл выбора для управления сокетами в прокси. Одно из требований этого прокси заключается в том, что если прокси отправляет сообщение на внешний сервер и не получает ответа в течение определенного времени, прокси должен...
17692 просмотров
schedule 26.08.2022

Привязать потоки к процессорам
Когда я запускаю свой многопоточный код, система (linux) иногда перемещает потоки с одного процессора на другой. Поскольку у меня столько же потоков, сколько и процессоров, это делает кэши недействительными без уважительных причин и сбивает с толку...
10313 просмотров
schedule 17.02.2024

Как мое многопоточное приложение для создания изображений может передать свои данные графическому интерфейсу?
Медленная реализация генератора Мандельброта с множественной точностью. Многопоточный, с использованием потоков POSIX. ГТК графический интерфейс. Я немного потерялся. Это моя первая попытка написать многопоточную программу. На самом деле я еще...
288 просмотров
schedule 07.01.2024

Имеют ли pthreads какие-либо преимущества перед GCD?
Недавно изучив Grand Central Dispatch, я обнаружил, что многопоточный код довольно интуитивно понятен (с GCD). Мне нравится тот факт, что никаких блокировок не требуется (и тот факт, что он использует внутренние структуры данных без блокировки) и что...
7096 просмотров

Могу ли я заставить pthread.h Unix компилироваться в Windows?
Если я попытаюсь скомпилировать программу с #include <pthread.h> в нем я получаю ошибку: pthread.h: No such file or directory Можно ли заставить это скомпилировать в среде Windows? Я использую Vista с последней версией...
149486 просмотров
schedule 28.06.2023

Как вы запрашиваете pthread, чтобы узнать, работает ли он?
В моем деструкторе я хочу чисто уничтожить поток. Моя цель - дождаться завершения выполнения потока и ЗАТЕМ уничтожить поток. Единственное, что я нашел о запросе состояния pthread, это pthread_attr_setdetachstate , но это только говорит вам,...
103600 просмотров

Как приостановить другой поток (не текущий)?
Я пытаюсь реализовать симуляцию микроконтроллера. Эта симуляция предназначена не для точного представления тактового цикла одного конкретного микроконтроллера, а для проверки общей правильности кода. Я думал о том, чтобы иметь «основной поток»,...
8234 просмотров
schedule 01.12.2023

Ошибка при открытии файлов темами
Я использую C и pthread на компьютере с Linux, и у меня возникают проблемы с распараллеливанием программы. В основном я пытаюсь взять папку с файлами данных, разделить их на группы, каждая группа обрабатывается потоком, и запустить функцию для...
243 просмотров
schedule 31.05.2022

Переносимость pthreads-win32 над различными компиляторами Windows
Я использую pthreads-win32, чтобы обеспечить поддержку потоковой передачи для Windows. У меня есть кроссплатформенный проект, который использует pthreads, и я хочу, чтобы он работал в Windows с различными компиляторами и разными версиями ОС. По...
5492 просмотров

Как правильно обрабатывать сигналы при использовании шаблона рабочего потока?
У меня есть простой сервер, который выглядит примерно так: void *run_thread(void *arg) { // Communicate via a blocking socket } int main() { // Initialization happens here... // Main event loop while (1) { new_client =...
572 просмотров
schedule 05.02.2022

Реализация производителей/потребителей с использованием мьютекса
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <pthread.h> #include <semaphore.h> #define WORK_SIZE 1024 pthread_mutex_t work_mutex; char work_area[WORK_SIZE]; void...
12828 просмотров
schedule 22.05.2022

Проблема с потоками: значение хранится в куче
У меня проблема с нитями. Я определяю глобальную переменную, char *, которую я инициализирую значением NULL, и мьютекс. pthread_mutex_t mutex; char *minURLTime; minURLTime = NULL; Затем я инициализирую свой мьютекс:...
220 просмотров
schedule 16.12.2022

Pthreads против OpenMP
Я создаю многопоточное приложение на C с использованием Linux. Я не уверен, следует ли мне использовать API потока POSIX или API OpenMP. Каковы плюсы и минусы их использования? Изменить: Может ли кто-нибудь уточнить, создают ли оба...
52434 просмотров
schedule 21.03.2022

Использование pthread.h в сборке Windows
У меня есть кодовая база, в которой широко используется pthread.h. В проекте Windows Visual Studio это, очевидно, не работает, поскольку pthreads — это утилита Unix. Я знаю, что существует pthread-win32 или что-то в этом роде, но есть ли способ...
40104 просмотров
schedule 12.03.2022

Ошибка сегментации с pthread_join
Вот функция, которая выдает segfault в pthread_join: void call_merge() { int no_runs = No_sub_seq; int no_joins=no_runs-1; int magic1=0,j=0,inc = 1; int temp_runs = no_runs/2; int i,k;...
3421 просмотров
schedule 25.03.2023

Ошибки C thread-mutex кодирует?
Вот код: .... typedef struct { int buf[10]; long head, tail; int full, empty; pthread_mutex_t *mut; pthread_cond_t *notFull, *notEmpty; } queue; int main(){ queue *que; pthread_t sup, cut; que = queueInit(); if(que == NULL){...
378 просмотров
schedule 21.09.2022