[C# 2.0 Beta 2] thread synchronisatie globaal in app

Pagina: 1
Acties:

  • mterwoord
  • Registratie: April 2005
  • Laatst online: 24-04-2025
Hallo,

Ik wil in een applicatie verschillende threads op elkaar laten wachten. dit kan normaal prima met het lock(){} statement. nu heb ik het volgende probleem: de threads werken in verschillende appdomains. nu werkt lock() niet meer. ik heb al een mutex en een monitor geprobeerd, wat geen van beide verschil maakt.

Wat zou wel moeten werken?

Groeten,

Matthijs ter Woord

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik ben geen .netter..

Maken ze allemaal gebruik van hetzelfde object-instantie? Zo nee, dan heb je een ander synchronisatie bouwsteen nodig die wel tussen meerdere processen gebruikt kan worden.

Mutex en Monitor ed zou ook geen oplossing bieden aangezien ik vermoed dat die ook voortborduren op de basis concurrency functionaliteit zoals de lock.

[ Voor 32% gewijzigd door Alarmnummer op 08-05-2005 14:59 ]


  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Als je op de MSDN kijkt, lees je daar dat lock(x) hetzelfde is als:
C#:
1
2
3
4
5
6
7
System.Threading.Monitor.Enter(x);
try {
   ...
}
finally {
   System.Threading.Monitor.Exit(x);
}


Voor zover ik kan lezen, is Monitor ook niet geschikt voor inter-process synchronisatie. Mutex echter, is dat wel, omdat een mutex system-wide is. Als je mutex niet werkt heb je het waarschijnlijk zelf verkeerd geimplementeerd.

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Verwijderd

http://msdn.microsoft.com.../frlrfsystemthreading.asp

Misschien heb je iets aan een AutoResetEvent/ManualResetEvent?

Edit: Ik weet niet of deze system-wide is.

[ Voor 13% gewijzigd door Verwijderd op 08-05-2005 21:49 ]