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

3 ответа

Предполагается, что pthread_cond_wait () блокирует мьютекс при возврате, и это могло произойти, но окончательная разблокировка не прошла, так как мы принудительно отменили поток. В целях безопасности я обычно стараюсь вообще не использовать pthread_cancel (), поскольку некоторые платформы даже не поддерживают это. Вы можете использовать изменчивый bool или атомарный и проверить, должна ли нить быть закрыта. Таким образом, мьютексы также будут обрабатываться чисто.

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

1 ответ

Вы также можете использовать BOOST_PP_ENUM, так как для этого требуется только препроцессор c99

ьзуя pthreads, как в C инициализировать статический массив мьютексов? Кажется, я могу использовать PTHREAD_MUTEX_INITIALIZER для одного статического мьютекса. Но как насчет их статического массива? Как, например, в #include <pthread.h> #define ...

1 ответ

@ohlegend: Почему вы чувствуете необходимость кричать?

ленный код: 3/7/11: 9:29 вечера using namespace std; void * matrixACreate(void * param); void *status; struct a { int Arow; // Matrix A int Acol; // WxX int low; // Range low int high; }; int main(int argc, char * argv[]) { struct a ...

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

8 ответов

pthreads мьютекс против семафора

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

2 ответа

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

исал код, который случайным образом генерирует две матрицы размером от 2х2 до 50х50. Затем я записываю время, которое требуется для каждого умножения матриц от измерений 2 до 50. Я записываю это время 100 раз, чтобы получить хорошее среднее ...

2 ответа

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

У меня есть этот код для умножения матриц, используя pthreads, но я получаю ошибку «приведение к указателю из целого числа разного размера» Я не знаю, что не так. Я новичок в pthread, и это то, что я сделал до сих пор: #include <stdio.h> ...

2 ответа

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

код демонстрирует, что мьютекс распределяется между двумя потоками, но один поток имеет его почти все время. #include <thread> #include <mutex> #include <iostream> #include <unistd.h> int main () { std::mutex m; std::thread t ([&] () { while ...

0 ответов

Если вы не можете решить эту проблему, вам придется использовать мьютекс, чтобы предотвратить доступ основного потока к вашему буферу до того, как другой поток его поменяет.

рограмма имеет один фоновый поток, который заполняет и заменяет задний буфер реализации двойного буфера. Основной поток использует передний буфер для отправки данных. Проблема в том, что основной поток получает больше времени на обработку, когда ...

3 ответа

Возможно, если бы мы знали, что вы думаете об использовании мьютекса, мы могли бы дать лучший ответ. Вы пытаетесь разблокировать мьютекс после отмены потока? У вас есть код, который может обрабатывать 2 потока одновременно, но не три, и нет мьютекса, пропускающего 2 потока одновременно?

ый вопрос .. Я прочитал, прежде чем сказать "MUTEX должен быть разблокирован только тем потоком, который его заблокировал." Но я написал программу, гдеthread1блокирует mutexVar и идет спать. затемthread2 Можно напрямую разблокировать mutexVar, ...

3 ответа

@ofosho Хорошо, я посмотрю на это позже.

ТИРОВАТЬ (СДЕЛАТЬ ПРОГРЕСС): Я пытаюсь найти демона vsftpd. У меня есть следующий код, который присоединяется к демону. Затем он успешно отображает PID первого порожденного процесса. Тем не менее, для детей этого порожденного процесса он ...