IPC und Objektzugriff aus anderen Threads
- From: Sven Wieschendorf <swusenet@xxxxxxxxx>
- Date: Wed, 24 Sep 2008 13:04:39 -0700 (PDT)
Hallo NG,
ich habe gerade angefangen mich mit Threads zu beschaeftigen und renne
wohl gerade in die ganzen Probleme, die dieses Thema mit sich bringt.
Vielleicht koennt Ihr mir ja ein wenig helfen, mich in diesem
Dschungel zurechtzufinden.
Akut geht es momentan darum, eine generisches Logging Assembly fuer
meine Applikationen zu schreiben.
Vereinfacht dargestellt, handelt es sich dabei um eine Main-Thread,
der mehrere Worker-Threads starten soll. Hier mal eine vereinfachte
Darstellung, wie ich mir das Ganze gedacht habe :
Main Thread : Empfaengt ueber Methoden Log Statements von einem
Programm, formatiert diese und stellt die formattierten Daten dann in
eine ArrayList (die innerhalb dieser Klasse definiert ist).
Worker Thread 1 : Soll stupide die Daten aus der ArrayList in eine
Datei schreiben.
Worker Thread 2 : Ueberwacht die Datei und wenn sie zu gross wird,
soll ein Flag (Ereignis) in Worker Thread 1 gesetzt werden der das
Schreiben stoppt, dann die Datei verkleinert, und das Schreiben im
Worker Thread 1 wieder startet.
Meine Probleme :
1. Ich kann aus dem Worker Thread 1 nicht auf die ArrayList im Main
Thread zugreifen. Waere sowas ueber Singleton Klassen machbar, oder
funktionieren die nur im eigenen Thread ?
2. Wie weit sind Singletons eigentlich gueltig ? Threadweit ?
Prozessweit ? Systemweit ?
3. Ich habe gelesen, dass es fuer die IPC diverse Ansaetze in .NET
gibt (Remoting, Mutexe, etc.) - jedoch hat mich das ganze etwas
verwirrt und ich bin mir nun absolut unschluessig, welche Methoden
fuer mich Sinn ergeben und welches veraltete und welches zeitgemaesse
Ansaetze sind. Hat dazu vielleicht jemand einen Link, wo man sowas
nachlesen kann ?
4. Generell, wie kann ich einem Worker Thread Kommandos uebermitteln,
wie z.B. StartWork, InterruptWork, Shutdown, etc ? Der Thread sollte
dann auch entsprechend den internen Status zurueckgeben bzw. man
sollte diesen Status abfragen koennen wie z.B. Working, Interrupted,
TermInitialized, etc. Hat dazu jemand eine Idee, mit welcher Technik
man sowas am besten realisieren koennte ?
Jede Hilfe und jedes Beispiel sind herzlich willkommen .. :o)
Danke & Gruss,
Sven
.
- Follow-Ups:
- Re: IPC und Objektzugriff aus anderen Threads
- From: Thomas Scheidegger
- Re: IPC und Objektzugriff aus anderen Threads
- Prev by Date: Re: XML-kommentierung erweitern
- Next by Date: Re: IPC und Objektzugriff aus anderen Threads
- Previous by thread: IP-Bereich umrechnen
- Next by thread: Re: IPC und Objektzugriff aus anderen Threads
- Index(es):
Relevant Pages
|