Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2010, 01:44
zEGAz
 
Fecha de Ingreso: junio-2009
Ubicación: chiapas
Mensajes: 15
Antigüedad: 14 años, 10 meses
Puntos: 0
contextSwitchDeadlock y MTAThreadAttribute

Hola que tal lo que pasa es que estoy haciendo un programa e c#.net el cual lee un archivo de mp3 y los compara con otros el problema es que cuando lo corre me lansa el error de contextSwitchDeadlock

"El CLR no ha podido realizar la transición del contexto COM 0x2066f8 al contexto COM 0x206868 durante 60 segundos. Es probable que el subproceso que contiene el contexto o apartamento de destino esté en espera sin proporcionar mensajes o que procese una operación de ejecución muy larga que no proporcione mensajes Windows. Normalmente, esta situación tiene un impacto negativo en el rendimiento y puede hacer que la aplicación no responda o que acumule continuamente el uso de la memoria. Para evitar este problema, todos los subprocesos de apartamentos de un único subproceso (STA) deberían utilizar primitivos de espera que proporcionen mensajes (como CoWaitForMultipleHandles) y proporcionar mensajes regularmente durante operaciones de ejecución largas."

"en mi caso es que la operacion de ejecucucion es muy larga".

y si lo desactivo el contextSwitchDeadlock como en muchas paginas dicen que los desactive se queda bloqueado el programa.

en la ayuda me dice que utilice MTAThreadAttribute ya busque por la web y no hay casi mucho de eso, mi preguntas son:

1.- ¿es igual Thread al MTAThreadAttribute?
2.-¿ que tngo que hacer para utilizar el MTAThreadAttribute?
3.- si es Thread ¿como se utiliza?
4.- en su defecto¿ que tengo que hacer ?

si tiene algun ejemplo de como usar o menejar esto seria de gran ayuda muchas gracias por su atencion y su tiempo;

un saludo;