Abstract

Almost all modern operating systems, from Windows to Unix, support multithreaded programming. To make sure our students can lead the trend of computer science in the foreseeable future, we need to introduce them to this important technology. However, we have found through experience in teaching multithreaded programming that the paradigm shift from sequential to multithreaded causes students significant problems, such as (1) multithreaded program development requires a new mindset, (2) multithreaded program behavior is dynamic, making debugging very difficult, and (3) proper synchronization is more difficult than anticipated [10, 11]. Moreover, detecting race conditions and deadlocks is more easily said than done.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call