Если вы не хотите блокировать текущий поток, ожидая / проверяя завершение другого запущенного потока, вы можете
реализовать метод обратного вызова, как это.
Action onCompleted = () =>
{
//On complete action
};
var thread = new Thread(
() =>
{
try
{
// Do your work
}
finally
{
onCompleted();
}
});
thread.Start();
Если вы имеете дело с элементами управления, которые не поддерживают работу с несколькими потоками, вам необходимо вызвать метод обратного вызова
this.invoke(onCompleted);