Imagine your thread has locked a major resource, now you suspend that thread. A instant deadlock occurs because that thread will never release that resource.
Of course it will.? It's called a bug.? If I write moronic code, it will cause problems, whether it's single or multi threaded.? Using this as a justification for the use or non-use of threads is like saying you can't use divide because some muppet might try and divide by zero and crash the code!
I look forward to the day when my OS starts scheduling my application using OnIdle events.
