0
ответов

повторное использование переменной pthread_t для текущих запущенных потоков

Я не уверен, приведет ли следующий код к неопределенному поведению. //Глобальный pthread_t thread1; void * worker (void * arg) {// делаем что-нибудь } void spawnThread () {// Материал инициализации int iret1 = ...
вопрос задан: 24 June 2011 11:45
0
ответов

Производительность pthread_mutex_lock / unlock

Я заметил, что у меня очень сильно падает производительность, когда у меня есть алгоритм, который блокирует и разблокирует ВСЕ потоки. Есть ли способ уменьшить эти накладные расходы? Было бы использование семафора больше / меньше ...
вопрос задан: 23 June 2011 21:27
0
ответов

концепции pthread в linux

У меня есть несколько вопросов о pthreads в linux: это тот случай, когда pthread_t похож на тип данных в int и char, указывающие, что мы определяем поток? Если да, то какого размера это займет? 2 байта ...
вопрос задан: 21 June 2011 03:54
0
ответов

сигнал и порядок разблокировки

void WorkHandler :: addWork (Work * w) {printf ("WorkHandler :: insertWork Thread, insertWork lock \ n"); замок(); printf ("WorkHandler :: insertWork заблокирован, вставка в очередь \ n"); ...
вопрос задан: 21 June 2011 00:35
0
ответов

Почему мьютекс pthread считается «медленнее», чем фьютекс?

Почему мьютексы POSIX считаются тяжелее или медленнее, чем фьютексы? Откуда возникают накладные расходы в типе мьютекса pthread? Я слышал, что мьютексы pthread основаны на фьютексах, и когда они не оспариваются, ...
вопрос задан: 15 June 2011 21:08
0
ответов

Bir ipliyi necə etibarlı bir şəkildə bağlaya bilərəm?

pthread_create (& thread, NULL, AcceptLoop, (void *) this); Bu şəkildə elan etdim və AcceptLoop funksiyasının içərisində sonsuzluq döngəsi var. Server bu zaman iş parçasını bağlamaq istərdim ...
вопрос задан: 15 June 2011 03:48
0
ответов

Изящно убить блокирующий поток в pthread C?

Допустим, у меня есть поток, который выглядит примерно так: void my_thread (char * device_name) {int fd = open (device_name, O_RDONLY); struct input_event ev; while (1) {read (fd, & ev, ...
вопрос задан: 14 June 2011 10:33
0
ответов

Проблема с утечкой памяти

У меня есть простая программа, которая создает поток и ждет, когда этот поток закончится, а затем программа также завершится. Когда я компилирую эту программу с помощью компилятора C (gcc) и проверяю ее с помощью valgrind, нет ...
вопрос задан: 13 June 2011 08:30
0
ответов

pthread_cond_wait и требование мьютекса

Почему требуется блокировать мьютекс перед вызовом pthread_cond_wait? Кроме того, требуется ли блокировка (на том же мьютексе) перед вызовом pthread_cond_signal? спасибо за вашу помощь.
вопрос задан: 10 June 2011 21:38
0
ответов

pthread_cond_timedwait зависает с gdb

Я использую pthread_cond_timedwait в цикле потока для выполнения каждые X мс (если он не пробуждается первым). Когда я использую gdb для отладки, иногда функция никогда не возвращается. Это сообщение на форуме также ...
вопрос задан: 10 June 2011 12:44
0
ответов

Существующая реализация пула потоков C [закрыто]

Какие реализации с открытым исходным кодом на C для пула потоков pthreads вы бы порекомендовали? Дополнительные моменты, если эта реализация: Легковесность: glib, APR, NSPR и другие идут с большим бай-ином, ...
вопрос задан: 9 June 2011 18:23
0
ответов

pthread_mutex_lock return not Проверено

Мне действительно интересно, почему все исходные коды, реализующие pthread_mutex_lock, никогда не проверяют его возвращаемое значение, как определено: документация pthread даже в книгах, примеры не проверяют, является ли блокировка ...
вопрос задан: 9 June 2011 09:07
0
ответов

Есть ли недопустимый идентификатор pthread_t?

Я хотел бы вызвать pthread_join для данного идентификатора потока, но только если этот поток был запущен. Безопасным решением может быть добавление переменной для отслеживания того, где запущен поток или нет. Однако я ...
вопрос задан: 8 June 2011 00:22
0
ответов

`-lpthread`를 연결하면 애플리케이션 동작이 변경됩니까? (Linux, Glibc)

질문이 있습니다. 스레드를 사용하지 않는 애플리케이션이있는 경우 두 가지 방법으로 링크 할 수 있습니다. 1) -lpthread 및 -ldl없이 평소대로 링크 2) 링크에 추가 두 라이브러리 : libpthread 및 libdl. ...
вопрос задан: 7 June 2011 13:47
0
ответов

перехват SIGINT в многопоточной программе

Я пишу многопоточную программу, в которой я хочу обработать возможную команду Ctrl-C от пользователя для завершения выполнения. Насколько мне известно, нет гарантии, что основной поток, который может ...
вопрос задан: 6 June 2011 09:39
0
ответов

Подсчет числа пи в потоках

У меня есть две реализации подсчета числа пи методом Монте-Карло: с потоками и без них. Реализация без потоков работает нормально, но метод с потоками имеет проблемы с точностью и ...
вопрос задан: 5 June 2011 22:51
0
ответов

Некоторые проблемы с протопотоками Arduino

Я делаю проект об управлении двумя датчиками (ультразвуковым и инфракрасным), управление ими с помощью Arduino. ИК-приемник имеет внутри систему фильтров, поэтому он принимает частоту 36 кГц. Я ...
вопрос задан: 5 June 2011 13:51
0
ответов

Потоки и дескрипторы файлов

Прошу прощения за то, что не провел собственное исследование и не задаю его здесь. У меня немного не хватает времени. Возможно ли иметь две таблицы дескрипторов файлов для двух или более потоков, созданных из одного потока. Эти двое ...
вопрос задан: 3 June 2011 06:35
0
ответов

Работа с асинхронными сигналами в многопоточной программе

В книге по интерфейсу программирования Linux упоминается метод работы с асинхронными сигналы в многопоточной программе: все потоки блокируют все асинхронные сигналы, которые обрабатываются ...
вопрос задан: 3 June 2011 05:08
0
ответов

Как использовать переменную условия

В книге интерфейса программирования Linux есть фрагмент кода (производитель / потребитель) чтобы показать, как работает условная переменная: static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t cond = ...
вопрос задан: 1 June 2011 19:05
0
ответов

pthread - как запустить новый поток без вызова join?

Я хочу начать новую тему с основной темы. Я не могу использовать соединение, так как я не хочу ждать завершения потока, а затем возобновить выполнение. По сути, мне нужно что-то вроде pthread_start (.....
вопрос задан: 31 May 2011 21:46
0
ответов

как передавать данные в работающий поток

При использовании pthread я могу передавать данные во время создания потока. Как правильно передавать новые данные в уже работающий поток? Я подумываю о создании глобальной переменной и чтении моего потока ...
вопрос задан: 30 May 2011 00:30
0
ответов

How can I wait for any/all pthreads to complete?

I just want my main thread to wait for any and all my (p)threads to complete before exiting. The threads come and go a lot for different reasons, and I really don't want to keep track of all of them ...
вопрос задан: 27 May 2011 15:35
0
ответов

проблема производитель-потребитель с pthreads

Я пытаюсь решить проблему производителя-потребителя, используя pthreads и семафоры, но похоже, что потоки-производители не производят, а потоки-потребители не используют. Похоже, что ...
вопрос задан: 19 May 2011 17:26
0
ответов

pthread_detach question

Till recently, I was under the impression that if you "detach" a thread after spawning it, the thread lives even after the "main" thread terminates. But a little experiment (listed below) goes ...
вопрос задан: 18 May 2011 10:06
0
ответов

Почему больше потоков, чем ядер, быстрее?

Я реализовал версию PageRank в многопоточной версии. Я запускаю его на 4-ядерном Q6600. Когда я запускаю его, чтобы создать 4 потока, я получаю: реальные 6,968 с Мы реализовали версию PageRank в многопоточной версии. Я запускаю его на 4-ядерном Q6600. Ко
вопрос задан: 13 May 2011 05:18
0
ответов

Стоимость переключения контекста между потоками одного и того же процесса в Linux

Есть ли какие-либо достоверные эмпирические данные о стоимости переключения контекста между потоками одного процесса в Linux (x86 а x86_64, в основном, интересуют)? Я говорю о количестве циклов или ...
вопрос задан: 11 May 2011 03:36
0
ответов

Real dangers of 2+ threads writing/reading a variable

What are the real dangers of simultaneous read/write to a single variable? If I use one thread to write a variable and another to read the variable in a while loop and there is no danger if the ...
вопрос задан: 8 May 2011 12:00
0
ответов

javascript createElement (), проблема стиля

сегодня я написал эту функцию: function zoom (obj) {var img = (! document.getElementById (obj))? false: document.getElementById (obj); var fullImage = (img.getAttribute ("image") == ...
вопрос задан: 8 May 2011 11:20
0
ответов

How are POSIX Threads implemented on Linux?

I was wondering if threads created via the pthreads library are actually kernel-level threads or user-space threads that have nothing to do with the kernel? I have heard mutually exclusive opinions ...
вопрос задан: 7 May 2011 08:14