wenn ich aus einer methode andere methoden aufrufe werde diese nacheinander abgearbeitet... z.B.:
private void MCP()
{
Methode1();
Methode2();
Methode3();
}
wenn ich aber eine von diesen Methoden in einem eigenem Thread starte, wie kann ich verhindern, das die Folgemethoden sofort und nicht nach beendigung der erst-methode gestartet werden ???
private void MCP()
{
Thread thread = new Thread(new ThreadStart(Methode1));
thread.Start();
Methode2();
Methode3();
}
Z.b. mit einem RendezVous/Barrier (hier trivial mittels thread.Join() ) ...
Was ist aber der Sinn daran, eine Methode in einem anderen Thread zu starten und dann doch gleich nach dem Start auf seine Terminierung zu warten? Bringt ausser einer Performancebremse kein Vorteil...?
ich starte eine methode, die sehr viel leistung frist aber möchte auch das die form weiter benutzt werden kann, ohne das sie ein starrer fleck auf dem desktop ist ....
Hi!
Das ginge evtl. mit der Methode Join. Die veranlasst einen Thread zu warten bis der andere Thread seine Ausführung beendet hat.
Code-Hacker
du fürst einfach deine MCP() Mehtode in einem Thread aus. dann brauchst du keine bremsen und dein form ist immer noch ansprechbar.
private void MCP()
{
Thread thread = new Thread(new ThreadStart(MCP1));
thread.Start();
}
private void MCP1()
{
Methode1();
Methode2();
Methode3();
}
Original von Xqgene
du fürst einfach deine MCP() Mehtode in einem Thread aus. dann brauchst du keine bremsen und dein form ist immer noch ansprechbar.private void MCP() { Thread thread = new Thread(new ThreadStart(MCP1)); thread.Start(); } private void MCP1() { Methode1(); Methode2(); Methode3(); }