These are all the threads that are in your virtual machine instance. It is normal to have more than one run or wait at any given time during execution. Whenever you create a task or timer, a thread is created or taken from the pool. The screenshot also shows many, probably, streams of empty threads. Also, think about programming the user interface β the display stream is usually a standalone stream in which events are triggered by other non-UI threads, because lengthy operations with the UI stream seem to freeze the application as a whole.
EDIT: To clarify, not all of these threads cause you to get suspicious calls. Some of them are launched by the virtual machine itself, some by some structure or library that you could use, and some of you - among which are often called the often called βmainβ thread.
EDIT2: You can also - at any time - pause a given thread in the Debug view and analyze its current stack trace. This may give you a hint about what all these threads are doing. Most likely, they are waiting for an object (reporting from some pool manager) or polling in an empty blocking queue or something like that.
Regards, h.
source share