Запитання з тегом «pthreads»

Pthreads (POSIX Threads) - це стандартизований API на основі С для створення та обробки потоків. На даний момент він визначений POSIX.1-2008 (IEEE Std 1003.1, 2013 Edition / The Open Group Base Specifications Issue 7).

3
Виклик pthread_cond_signal без блокування mutex
Я десь читав, що нам слід заблокувати мьютекс перед викликом pthread_cond_signal і розблокувати мьютекс після його виклику: Підпрограма pthread_cond_signal () використовується для сигналізації (або пробудження) чергового потоку, який очікує на змінну умови. Його слід викликати після того, як mutex заблоковано, і він повинен розблокувати мьютекс, щоб завершити процедуру pthread_cond_wait (). …

4
Потоки і сигнали POSIX
Я намагався зрозуміти тонкощі взаємодії потоків POSIX та сигналів POSIX. Мене, зокрема, цікавить: Який найкращий спосіб контролювати, до якого потоку подається сигнал (припускаючи, що це не фатально в першу чергу)? Який найкращий спосіб повідомити черговий потік (який насправді може бути зайнятий), що сигнал надійшов? (Я вже знаю, що це погана …
81 c  pthreads  signals 

9
ефективний потокобезпечний синглтон в C ++
Звичайний шаблон для синглтон-класу - це щось на зразок static Foo &getInst() { static Foo *inst = NULL; if(inst == NULL) inst = new Foo(...); return *inst; } Однак я розумію, що це рішення не є безпечним для потоку, оскільки 1) конструктор Foo може бути викликаний більше одного разу (що …

7
Що є більш ефективним, базовим блокуванням мьютексу чи атомним цілим числом?
Для чогось простого, як лічильник, якщо кількість потоків буде збільшувати кількість. Я читав, що блокування mutex може знизити ефективність, оскільки потоки повинні чекати. Отже, для мене атомний лічильник був би найефективнішим, але я читав, що зсередини це в основному замок? Тож, мабуть, мене бентежить, як будь-який може бути ефективнішим за …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.