In multithreaded .NET programming, what are the decision criteria for using ThreadPool.QueueUserWorkItem versus starting my own thread via new Thread() and Thread.Start()?
One advantage of using Thread.Start() is, that you are able to intentionally abort the thread later. In the ThreadPool you have no means of controlling the thread execution after you enqueued it.