Описание тега pthread-key-create

1 ответ

Я не понял причину использования pthread_key_create, вы можете сказать, почему?

Мы можем передать аргумент потоку, используя pthread_create /(не key_), если он закончен, используя значение для потока. Что касается использования статического хранилища, мы используем мьютексы, так что же значит, что мы используем pthread_key_crea…
09 янв '13 в 13:11
1 ответ

Как работает pthread_key_t и метод pthread_key_create?

У меня возникли проблемы с выяснением того, как работают pthread_key_t и pthread_key_create. Насколько я понимаю, каждый поток имеет TLS (локальное хранилище потока), и этот ключ используется для доступа к локальному хранилищу потока. Что я не получ…
25 янв '12 в 16:10
1 ответ

pthread не видит переменную экземпляра, переданную в качестве аргумента

У меня есть класс в C++, который использует Boost Python. Я пытаюсь запустить код Python в потоке из C++, используя pthread. Проблема в том, что приведенный ниже код не производит никакого вывода. Я ожидал выхода John DOE в стандартный вывод. Кажетс…
15 ноя '16 в 18:36
1 ответ

C, pthreads, инициализированный в цикле, не выполняет назначенную функцию должным образом, несмотря на мьютекс

У меня возникают проблемы при отладке моей программы на C, цель которой состоит в том, чтобы создать 5 потоков, каждый из которых должен работать с кусками размера 2 массива длиной 10. Цель - получить сумму этого массива. Моя настоящая программа нем…
01 авг '16 в 03:47
2 ответа

Что произойдет, если pthread_key_delete вызывается для ключа после неудачного pthread_key_create?

Предположим, следующий код: pthread_key_t key; pthread_key_create(&key, NULL); /* failure here */ pthread_key_delete(key); Если pthread_key_create не удается, это вызов pthread_key_delete считается неопределенным поведением? Как насчет, если pth…
05 авг '13 в 18:02
1 ответ

Как правильно использовать данные, специфичные для потока

Я программирую, используя pthread. Мне нужна глобальная переменная, которая имеет разное значение для разных потоков. И потоки будут использовать одну и ту же функцию для работы с этой переменной, например, для изменения ее значения. Если один поток…
1 ответ

Ошибка сегментации или SizeOf неправильно используется

Поэтому я работаю над программой, в которой использую pthreads для параллельного решения проблемы. Прямо сейчас я получаю ошибку сегмента, когда запускаю следующий код в функции: average_power. Это уместная часть кода, в которой я почти уверен, что …
0 ответов

Ошибка сегментации во время pthread_create()

Итак, я пытаюсь выполнить сортировку двумя файлами в отдельных потоках (основной поток и дополнительный поток, в котором я создал с помощью pthread_create). Моя сортировка пузырьков работает отлично, я тестировал ее несколько раз, поэтому я не включ…
05 ноя '14 в 17:29
2 ответа

В C при использовании имени функции в pthread_create это то же самое, что использование ссылки?

Я не уверен, правильно ли я сказал. pthread_create(..., ..., &some, ...); ...is the same as: pthread_create(..., ..., some, ...); Я изучаю темы, если бы вы могли дать веб-сайт или видео, которые бы сделали это действительно простым, это было бы …
18 окт '13 в 16:03
1 ответ

Порядок уничтожения основного потока и использование pthread_key_create

Мне было интересно об использовании pthread_key_create при передаче функции деструктора. Я хотел иметь что-то вроде этого: static ComplexObject foo; void workoncomplex(void *) { foo.dosomestuff(); } static pthread_key_t pthreadkey; void function_cal…
1 ответ

Почему доступ к порядковому номеру ключей pthread не синхронизирован в реализации NPTL в glibc?

Недавно, когда я посмотрел, как реализовано локальное хранилище потоков в glibc, я обнаружил следующий код, который реализует API pthread_key_create() int __pthread_key_create (key, destr) pthread_key_t *key; void (*destr) (void *); { /* Find a slot…
1 ответ

Один поток и несколько потоков

Кто-нибудь знает способ объяснения или вы могли бы направить меня к материалу, касающемуся одной и нескольких тем? Я их совсем не понимаю. Каждое объяснение, которое я читаю, написано на очень сложном английском языке. Я хочу понять их полностью. Ли…
3 ответа

Данные, специфичные для потока

У меня есть клиентская программа следующим образом, и мне нужно сделать ее многопоточной, т.е. один поток на соединение. Но переменная sockfd должна оставаться глобальной для одного потока. Я понимаю, что для этого мне нужно использовать pthread_key…