Empty working threads, what are they?

While debugging a .NET Framework 3.5, WinForms application, I noticed some "work threads" without a name.

I know that when you open the app you have one default worker thread. However, in the middle of debugging, when I pause the debugger and view the Themes window, I see about 5+ similar threads (priority = normal).

All threads opened by the application are named so they cannot be opened from code, at least not through Thread.Start ()

When I try to double click, VS.NET cannot find the code.

What are these topics? Are they normal, or are some of the operations leaving empty threads somehow?

Could they be timers or similar non-obvious controls, functions working with temporary threads in the background?

+2


source to share


3 answers


I was just comparing threads in VS to threads in WinDbg, and it seems like VS is referring to the thread pool threads as a "worker thread" in the threads window. Thus, I would assume that what you are seeing are threads started due to using BackgroundWorker, Timer, BeginInvoke or similar thread pool functions.



+5


source


Continuing on to Rushyo, these threads might be related to how Visual Studio launches and debugs your program (you tried to run a build from outside Visual Studio and use Process Explorer to test it).



If it is clearly not part of the VS host, they are probably related to the .NET thread pool used for timers, asynchronous method calls.

0


source


While windows are adding threads to your application, you call GetOpenFileName () (or other functions that invoke a dialog with the ppen / save file).

Windows performs a disk / folder scan in the background and obviously saves live streams after the dialog is closed. I recently learned about this during testing. There are probably more such questions.

0


source







All Articles