 <p>Since it is not clear what your requirements are, I will assume that what you really want to use is a <a href="https://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.110).aspx" rel="nofollow">BackgroundWorker</a>. The following also have samples.</p> <p><a href="https://msdn.microsoft.com/en-us/library/a3zbdb1t(v=vs.110).aspx" rel="nofollow">BackgroundWorker.ReportProgress Method (Int32, Object) (System.ComponentModel)</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/ywkkz4s1.aspx?cs-save-lang=1" rel="nofollow">Walkthrough: Multithreading with the BackgroundWorker Component (C# and Visual Basic)</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/hybbz6ke(v=vs.110).aspx?cs-save-lang=1" rel="nofollow">How to: Run an Operation in the Background</a></p>