Re: Threads

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



l.juenemann@xxxxxxxxxxxxxx schrieb:
Hallo,

ich mache meinen ersten Schritte mit Threads und habe gerade versucht,
einen Thread zu Beenden unter Anwendung der Kennzeichnung eines
kritischen Bereichs. Mein Thread kommt jedoch erst garnicht soweit.
Noch bevor er überhaupt den Thread ausführt, wird er auch schon
abgebrochen. Ich habe dann zwischen Start() und Abort() Thread.Sleep
(100) eingefügt, die Schleife wird jedoch nicht vollständig
abgearbeitet.

Habe ich dass mit den kritischen Regionen falsch verstanden? Ich hatte
gedacht, dass vor Abbruch diese Region auf alle Fälle ausgeführt wird.

Hier mal mein Versuch:

static void Main(string[] args)
{
ThreadStart operation = new ThreadStart(SimpleWork);

// Erstellt einen neuen Thread
Thread theThread = new Thread(operation);

// Beginnt die Durchführung der Arbeit in einem neuen
Thread
theThread.Start();
Thread.Sleep(10);
theThread.Abort();

Console.ReadKey();
}

static void SimpleWork()
{
Thread.BeginCriticalRegion();
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Thread: {0}",
Thread.CurrentThread.ManagedThreadId);

// Thread schlafgen legen, sodass andere Threads zum
Zug kommen
Thread.Sleep(10);
}
Thread.EndCriticalRegion();
}

mfg

Lothar

Hallo Lothar,

normalerweise wird eine critical section betreten um eine synkope bzw. variable zu beschreiben so daß der Schreibvorgang komplett abgeschlossen wird und ein threadwechsel innerhalb der critical section verhindert wird. Deshalb sollte die critical section so schnell es geht wieder verlassen werden, somit ist ein sleep() innerhalb einer critical section natürlich tödlich.

Gruß,
Peter













.



Relevant Pages

  • Re: einfaches Problem beim Synchronisieren
    ... sondern es gibt nur ein Lock für MyLockObjekt. ... einem Zeitpunkt maximal ein Thread "besitzen". ... Alle Schlösser der durch synchronized eingezäunten, kritischen ... ThreadErzeuger einThreadErzeuger = new ThreadErzeuger; ...
    (de.comp.lang.java)
  • Re: Vorfahrtsregelung bei Autobahnausfahrten
    ... Ich habe den ganzen Thread gelesen und in keinem einzigen Beitrag ... ob da frei ist kommt IMHO haeufiger vor als stures Reinziehen ) ganz ... Stures Reinziehen fuehrt zwar zu kritischen Situationen, ... seltenst zu einem Unfall, weil sich auch ein noch so aggressiver Fahrer ...
    (de.soc.recht.strassenverkehr)
  • Re: Global Pension Plan
    ... Ich möchte Dir hier keinesfalls etwas unterstellen, ... Stimmen entfernen. ... Da muß ich Dich leider enttäuschen, die kritischen Stimmen werden nicht ... View this thread: http://www.aktienboard.com/vb/showthread.php?t=109744 ...
    (de.etc.finanz.misc)
  • Threads
    ... kritischen Bereichs. ... Mein Thread kommt jedoch erst garnicht soweit. ... abgebrochen. ... Habe ich dass mit den kritischen Regionen falsch verstanden? ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Threads
    ... einen Thread zu Beenden unter Anwendung der Kennzeichnung eines ... kritischen Bereichs. ... Mein Thread kommt jedoch erst garnicht soweit. ... Habe ich dass mit den kritischen Regionen falsch verstanden? ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)