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

4 ответа

Передайте целочисленное значение через pthread_create

Я просто хочу передать значение целого числа потоку. Как я могу это сделать? Я пытался: int i; pthread_t thread_tid[10]; for(i=0; i<10; i++) { pthread_create(&thread_tid[i], NULL, collector, i); }Метод потока выглядит так: void *collector( ...

3 ответа

Это фатально для всего процесса, а не только для одного потока.

знать, умер ли птхэд? Есть ли способ проверить состояние pthreads?

1 ответ

Это почти идеально! Я обязательно сделаю некоторые тяжелые исследования, спасибо за ответ!

лизую простой механизм пула потоков для моего сервера Ubuntu (для моей многопользовательской программы анонимного чата), и мне нужно заставить рабочие потоки спать, пока не будет выполнено задание (в виде указателя на функцию и параметра) , Моя ...

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

5 ответов

@R .. Принял его ответ :) Надеюсь, у тебя все хорошо.

лкнулся с проблемой синхронизации с pthread. threadWaitFunction1, является функцией ожидания потока. Я ожидаю, что строка нет. 247flag = 1 должен быть выполнен только после того, как 243-246 закончил. Но я нахожу странным, что иногда он прыгает ...

2 ответа

Я не вижу безопасного способа проверить количество официантов. Вы можете сделать безусловный пробужденный вызов futex, но это кажется очень расточительным в барьерах с count = 2 и очень короткими интервалами времени, которые они охватывают, где они могли бы, вероятно, пройти несколько вращений в противном случае.

вопрос основан на: Когда безопасно разрушить защитный барьер? [https://stackoverflow.com/questions/874432/when-is-it-safe-to-destroy-a-pthread-barrier] и недавний отчет об ошибке ...

2 ответа

), но они не используют API потоков POSIX.

ыло интересно, если потоки, созданные с помощью библиотеки pthreads, на самом деле являются потоками уровня ядра или потоками пользовательского пространства, которые не имеют ничего общего с ядром? Я слышал взаимоисключающие мнения об этом, ...

1 ответ

Вероятно, у вас есть свободные циклы ЦП, в то время как поток блокирует некоторые ресурсы, такие как память. Эти циклы ЦП могут использоваться другими потоками. Данные, на которые я посмотрю, показывают ... Показывает ли 4-поточная версия 100% -ное использование каждого ядра? Если нет, то вы нашли свои свободные циклы процессора.

лизовал версию PageRank в многопоточной версии. Я использую его на 4-ядерном Q6600. Когда я запускаю его для создания 4 потоков, я получаю: real 6.968s user 26.020s sys 0.050sКогда я запускаю 128 потоков, я получаю: real 0.545s user 1.330s sys ...

1 ответ

Спасибо за помощь, я пробую это, но я думаю, что это должно работать, потому что он использует обработчик, который может поставить в очередь!

лал некоторые функции c-кода на стороне jni, и все работает нормально. public native String getMessage()функция возвращает строку со стороны jni в сторону java, и она работает нормально, а все остальные коды jni также работают нормально. Но ...

2 ответа

В дополнение к коду для блокировки всех сигналов, мой ответ включал в себя код для определения того, какие сигналы поступали ... вы смогли добавить этот код, чтобы увидеть, с какими сигналами вы на самом деле имеете дело?

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

2 ответа

c pthread передающий массив типа int

Я передаю массив типа int pthread_create и получаю ошибку: histogram.c:138:3: warning: passing argument 3 of ‘pthread_create’ from incompatible pointer type [enabled by default] expected ‘void * (*)(void *)’ but argument is of type ‘void * ...