Actually, contrary to what most people are saying (avoid multiple threads, it's too difficult, etc) I have to admit that I love multithreading.
Task scheduling, mutual exclusion, and semaphore theory can be really daunting after being use to single-threaded programming (especially if you're new to programming now), and you have to get ...