Resultados da pesquisa a pedido "condition-variable"

1 a resposta

Usando variável de condição em uma situação produtor-consumidor

Estou tentando aprender sobre variáveis de condição e como usá-lo em uma situação produtor-consumidor. Eu tenho uma fila em que um segmento empurra números para a fila, enquanto outro segmento aparece números da fila. Eu quero usar a variável de ...

1 a resposta

As variáveis de condição ainda precisam de um mutex se você estiver alterando o valor verificado atomicamente?

Aqui está a maneira típica de usar uma variável de condição: // The reader(s) lock(some_mutex); if(protected_by_mutex_var != desired_value) some_condition.wait(some_mutex); unlock(some_mutex); // The writer lock(some_mutex); ...

1 a resposta

std :: condition_variable - Aguarde vários threads para notificar o observador

meu problema fica assim: Eu tenho um observador que contém um std :: condition_variable e um std :: mutex, meus objetos de thread de trabalho têm um ponteiro para o observador. Cada vez que um encadeamento de trabalhador termina seu trabalho, ...

9 a resposta

Por que as funções de variável de condição pthreads exigem um mutex?

Eu estou lendopthread.h; as funções relacionadas à variável de condição (comopthread_cond_wait(3)) exigem um mutex como argumento. Por quê? Até onde eu sei, vou criar um mutexsomente usar como esse argumento? O que esse mutex deveria fazer?

1 a resposta

Por que não há função de espera para a variável de condição, que não trava novamente o mutex

Considere o seguinte exemplo. std::mutex mtx; std::condition_variable cv; void f() { { std::unique_lock<std::mutex> lock( mtx ); cv.wait( lock ); // 1 } std::cout << "f()\n"; } void g() { std::this_thread::sleep_for( 1s ); cv.notify_one(); } ...

4 a resposta

variável de condição - por que chamar pthread_cond_signal () antes de chamar pthread_cond_wait () é um erro lógic

Está escrito no tutorial de tópicos do POSIXhttps: //computing.llnl.gov/tutorials/pthreads [https://computing.llnl.gov/tutorials/pthreads/] que é um erro lógico. minha pergunta é por que é um erro lógico? No meu programa eu preciso usar ...

1 a resposta

variável de condição [fechada]

uais são os princípios de uma variável de condição na sincronização dos processos dos sistemas operacionai

1 a resposta

Exemplo de uso de boost :: condition :: timed_wait

Alguém tem um exemplo de como usar o boost :: condition :: timed_wait com mais facilidade? Existem alguns tópicos sobre o tópicoaqu [https://stackoverflow.com/questions/2259025/how-do-i-get-boostconditiontimed-wait-to-compile] , ...

2 a resposta

Qual é a diferença entre std :: condition_variable e std :: condition_variable_any?

Provavelmente estou perdendo algo óbvio, mas não vejo diferença entrestd::condition_variable estd::condition_variable_any. Por que precisamos dos dois?