Als ik een werkje wil executen, dan gebruik ik een Thread.
Sinds 4.0 kun je ook Tasks gebruiken, maar ik wil het nu op Threads houden.
Met een backgroundworker heb ik eigenlijk nog niet veel gewerkt en een Thread is gewoon makkelijk.
Voordeel: de core wordt niet aan 100% belast tijdens de berekeningen.
Alleen werkt het opvangen van een exception niet echt zoals het hoort.
Deze catch gaat echter niet de exceptions vangen in de Thread...
Hoe kan ik dat best toch doen?
Sinds 4.0 kun je ook Tasks gebruiken, maar ik wil het nu op Threads houden.
Met een backgroundworker heb ik eigenlijk nog niet veel gewerkt en een Thread is gewoon makkelijk.
Voordeel: de core wordt niet aan 100% belast tijdens de berekeningen.
Alleen werkt het opvangen van een exception niet echt zoals het hoort.
code:
1
2
3
4
5
6
7
8
9
10
| try
{
Thread thd = new Thread(new ThreadStart(worker.Run));
thd.Start();
thd.Join();
}
catch (Exception ex)
{
//doe iets met de exception, meestal gewoon rapporteren dat de berekening niet lukt
} |
Deze catch gaat echter niet de exceptions vangen in de Thread...
Hoe kan ik dat best toch doen?