Pergunta

eu tenho um monte de spin locks no meu código multithread e na maioria das vezes eles estão esperando por outros segmentos para fazer o trabalho e, assim, mastigar um monte de uso da CPU. No Linux eu uso normalmente pthread_cond_wait e pthread_cond_signal para pausar um fio e acordar quando sinalizado. Existe algo como isto nas bibliotecas de impulso? Ter um olhar rápido eu não poderia encontrar qualquer coisa.

Visual Studio 2005

Foi útil?

Outras dicas

Você está procurando um Mutex ou um semáforo. A biblioteca de impulso tem Mutex e apoio Semaphore .

Um Mutex é um binário Semaphore, que é simplesmente visto como um bloqueio, permitindo que apenas um thread para passar por sua seção crítica .

semáforos pode ajudar a simplificar algumas situações em que um bloqueio (Mutex) é demasiado restritiva.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top