Based on the code from the comments to solution #1:
InspectorWrapperThread.cs:
while (!worker.canCompleteThread)
{
if (worker.canCompleteThread)
{
break;
}
Thread.Sleep(10);
}
WorkerThread2.cs:
public bool canCompleteThread = false;
...
void backgroundWorkerThread2TabRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
canCompleteThread = true
}
You need to make the
canCompleteThread
field
volatile
:
public volatile bool canCompleteThread = false;
volatile (C# Reference) | Microsoft Docs[
^]