Где-то в степи,
Спасибо за предложение.
Но я планировал уже с TPL все организовать. Мне это кажется сейчас проще, чем с обычными тредами.
Каждый из классов WorkerClass - это тоже отдельный поток ведь.
Нужно не забывать про возникающие исключения. А в Task'ах с ними просто работать.
Даже если делать через треды, суть не меняется - мне обязательно нужно, чтобы сначала один завершился, а потом второй.
Я сделаю это примерно так:
cts1.cancel ();
// class1 обращается к class2 - поэтому его нужно остановится первым
try
{
class1.Wait(); // Ждем, чтобы класс точно завершился
}
catch (Exception Exe)
{
...
}
finally
{
cts2.cancel();
class2.Wait();
}
получится ли так просто с тредами ? С учетом всяких там возникающих исключений - тут они четко на методе Wait вылетят, а в обычных тредах гораздо не удобней.
Task вообще можно передать куда нибудь, и там уже ловить исключения.
А с тредами получится ли ? Ну если только через лямбды да Action'ы наверное.
В общем TPL мне видится более чистым (с точки зрения кучи кода) решением.