@
es gibt nur einen gui thread. Es kann aber passieren das ein System.Threading.Task mal auf dem gui thread ausgeführt wird. Um das zu vermeiden:
Code:
ThreadStart ts = new ThreadStart(function);
Thread t = new Thread(ts);
t.IsBackground = true;
t.Start();
Asynchrone programmierung für kleinere aufgaben funktioniert so:
Code:
Task.Run(() =>
//DeinCode
));
Normalerweise wird auch das in einem extra thread ausgeführt:
Code:
Task t = new Task(new Action(function));
t.Start();
Beim funktionsparameter die () weglassen nicht vergessen.
Eine funktion mit parametern zu starten funktioniert ähnlich