tempo gasto no encadeamento na sincronização é muito alt

oje, criei um perfil de um dos meus aplicativos C # usando o Visual Studio 2010 Performance Analyzer. Especificamente, eu estava criando um perfil para " Concorrência "porque parecia que meu aplicativo deveria ter mais capacidade do que estava demonstrando. O relatório de análise mostrou que os threads passavam de 70 a 80% do tempo em um estado de Sincronização.

Para ser sincero, não sei o que isso significa. Isso significa que o aplicativo está sofrendo de uma condição de bloqueio ao vivo?

Para o contexto ... há ~ 30 + threads de execução longa vinculados a um único AppDomain se isso importa) e alguns dos tópicos estão muito ocupados (por exemplo,while(true) { _waitEvent.WaitOne(0); //do stuff }).

Eu percebo que esta é uma pergunta bastante vaga ... Acho que estou procurando alguma explicação sobre o significado do estado de Sincronização dos threads. Quanto é demais e por quê? ~ 75% é realmente ruim? Eu tenho muitos threads? ou devo começar a procurar em outras áreas?

questionAnswers(3)

yourAnswerToTheQuestion