todas samsung registro programa por patron para las gratis descargar desbloqueo desbloquear con compañias como celulares celular bloqueado c# multithreading synchronization locking

c# - samsung - desbloqueo



SynchronizationLockException(se llamó al método de sincronización de objetos desde un bloque de código no sincronizado) al liberar un bloqueo (1)

Al liberar un bloqueo, recibo una SynchronizationLockException.

Por supuesto, lo primero que hice fue la búsqueda de Google sobre el problema. Encontré dos patrones erróneos principales:

  1. Liberando un Mutex en el hilo diferente de lo que fue creado.
  2. Usar un tipo de valor como un objeto de sincronización para un monitor. O modificando el objeto de sincronización entre ingresar y salir del monitor.

El problema es que ninguno de estos patrones se ajusta a mi caso.

Tengo un escenario de sincronización muy simple:

public class MyClass : IDisposable { private readonly object _myLock = new object(); internal void Func1() { lock (_myLock) { //Some code here } } internal void Func2() { lock (_myLock) { //Some code here } } public void Dispose() { lock (_myLock) { //Some code here } // Here is where I get an exception } }

Eventualmente recibo SynchronizationLockException en la línea de Dispose() donde se libera el bloqueo.

Mi pregunta no es "¿Cuál es el problema con mi código" o "¿Qué estoy haciendo mal?". Básicamente, me gustaría saber cómo podría suceder (y bajo qué circunstancias) que la implementación de bloqueo de .NET arroje esta excepción.

Gracias.


Una vez obtuve SynchronizationLockException en la instancia List cuando se ha cambiado el tamaño de su matriz subyacente para que se ajuste a los nuevos elementos. Se ha accedido a la instancia de lista desde tres subprocesos diferentes y faltaba un bloqueo ...

Diría: verificación triple si está realizando la sincronización de subprocesos de la manera correcta.

Además, implemente el patrón IDisposable de la manera correcta (vea http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx ). Tal vez el finalizador te está dando dolor de cabeza.