I've a main thread called t1:

```
Thread t1 => new Thread(UpdateResults);

```

that execute a method called `UpdateResult` this method require internet connection. Now sometimes the connection could be broken.

When the connection is down, the method `UpdateResult` return an exception and the thread `t1` terminate the execution.

I need to execute again the thread `t1` so I though to create another thread `t2` that check recursively if the thread `t1` is running or no.

Both thread are started automatically. This is the code of thread `t2` method:

```
while (true)
{
    if (!t1.IsAlive)
    {
       t1.Start();
    }
}

```

this code unfortuntely slow down the app UI, 'cause is an infinite loop.
What I can do instead for fix this?