As subject, how can I know that the thread is hanging or still running?
My implementation is setting a timeout, so that an event will be passed back to the application either timeout or all the threads finish.
Is it sufficient enough that my application gets the available thread number by using ThreadPool.GetAvailableThreads. If it's equal to 25 (by default), that means all the threads are finishing. But, the problem is that I can't really kill the "hanging" thread at the thread pool. I only saw the coding at the instance thread by using abort() method.