Alternativa ao spinlock
Estou usando a seguinte abordagem de spinlock:
while(!hasPerformedAction()){
//wait for the user to perform the action
//can add timer here too
}
setHasPerformedAction(false);
return getActionPerfomed();
isso basicamente espera que um usuário execute uma ação e a devolve. Atualmente, algo solicita uma resposta do usuário antes de continuar, é por isso que espero até que a entrada seja recebida. No entanto, eu queria saber se isso é ineficiente e se estamos esperando por um tempo (ou seja, <= 30 segundos) desacelerará o PC que está executando este aplicativo. Existem outras alternativas usando essa abordagem, ou seja, bloqueios, semáforos? Em caso afirmativo, qual é a sintaxe?
Obrigado,
Aly