Результаты поиска по запросу "pthreads"

7 ответов

В системе с 24 ядрами должно быть легко столкнуться с ложными пробуждениями. (Некоторые блоггеры зашли бы так далеко, утверждая, что примерно 40% их ожиданий прерывается в этих системах. Но, безусловно, есть и другие факторы, которые следует учитывать в уравнении, что усложняет определение числа.).

вопрос не о том, действительно ли ложные пробуждения счастливы, потому что это уже обсуждалось здесь в полном объеме:Действительно ли случаются ...

4 ответа

Я запустил этот код, который вы опубликовали, и не получил те же результаты, что и вы. Похоже, что мой поток получения запланирован первым, и программа просто зависает: [ubuntu @ apollo: ~ / hp_threads] $ gcc -lpthread main.c && ./a.out r1 r2 r1 r2 r1 r2 r1 r2 s1 s2 ^ C

отаю над проектом и пытаюсь использоватьpthread_cond_wait() а такжеpthread_cond_signal() синхронизировать два потока. Мой код выглядит примерно так: pthread_mutex_t lock_it = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t write_it ...

3 ответа

 для полного описания того, что необходимо сделать для создания pthreads таким образом.

у прекратить предупреждение server.cpp: 823: предупреждение: преобразование из 'void * (ClientHandler ::) () 'to' void () (Недействительный)» в вызове: pthread_create(th, NULL, (void* (*)(void*)) &ClientHandler::handle, (void ...

ТОП публикаций

2 ответа

 и если вы создаете специальный тип сообщения очереди, это позволяет легко определить потоки, когда следует завершить работу.

я есть очередь заданий, и я хочу создать пул из 4 потоков, куда я могу добавить свои задания. То, что я застрял в том, как сделать потоки и удерживать их, пока нет работы. JOB QUEUE | job1 | job2 | job3 | job4 | .. THREAD POOL | thread1 | ...

4 ответа

 для получения дополнительной информации.

ного запутался в том, как объявить рекурсивный мьютекс с помощью pthread. То, что я пытаюсь сделать, это иметь только один поток за раз, чтобы иметь возможность выполнять фрагмент кода (включая функции), но после скептицизма я понял, что ...

2 ответа

 с кодом, который добавляет / удаляет переменную условия в / из глобального связанного списка. Защитите связанный список с помощью мьютекса.

отрим следующий исходный код, полностью совместимый с POSIX: #include <stdio.h> #include <limits.h> #include <stdint.h> #include <stdlib.h> #include <pthread.h> #include <sys/time.h> int main (int argc, char ** argv) { pthread_cond_t c; ...

1 ответ

Когда использовать переменные условия pthread?

Этот вопрос: похоже, что условная переменная работает только в том случае, если pthread_cond_wait вызывается до того, как другой поток вызывает pthread_cond_notify. Если перед ожиданием происходит какое-либо уведомление, ожидание застрянет. Мой ...

6 ответов

Я не думаю, что проблема в том, что ОП не присоединяется к потокам. Проблема связана с количеством памяти, используемой при создании потоков.

граммирую что-то на C, что создает много Pthreads в Linux на 256-мегабайтной системе. У меня обычно + 200Мб бесплатно. Когда я запускаю программу с небольшим количеством потоков, она работает, но как только я создаю около 100 потоков, это дает ...

4 ответа

Это не важно Вы все еще можете ужасно потерпеть неудачу десятками способов. Например, что произойдет, если поток, назначенный заданию, увидит запись в флаг, но не саму запись? Поток будет выполнять неправильную работу полностью.

те представим, что у меня есть несколько рабочих потоков, таких как: while (1) { do_something(); if (flag_isset()) do_something_else(); }У нас есть пара вспомогательных функций для проверки и установки флага: void flag_set() { global_flag = 1; ...

8 ответов

Спасибо за совет, и спасибо за ответ.

ользую библиотеку pthread в Linux. Я назначаю строку в потоке A, а затем пытаюсь напечатать строку в потоке B. Однако строка просто печатается пустой (я убедился, что она работает в потоке A). Примечание. Строка находится внутри объекта, ...