I have a multi tab software. In every tab, I want to run different threads. When I switch from one tab to another, I suspend the related thread and then start a new thread for the new tab. 

Sometimes when I quickly change tabs, my threads stop running and give me no exception or error. I understand this situation by debug. For this situation, I see that there are many same threads that seems in "Threads Window" but none of them is running. 

I think suspending and starting of threads is not a good idea of programming but what should I do to avoid this problem?