Visualizing Classic Synchronization Problems: Dining Philosophers, Producers-Consumers, and Readers-Writers

Joel C. Adams,Elizabeth R. Koning, Christiaan D. Hazlett

Proceedings of the 50th ACM Technical Symposium on Computer Science Education(2020)

引用 2|浏览11
暂无评分
摘要
Classic synchronization problems are often used to introduce students to the subtleties of concurrency and synchronization mechanisms, such as semaphores, monitors, locks, and condition variables. The Dining Philosophers, Producers-Consumers, and Readers-Writers are all classic problems in which a correct solution requires the actions of multiple processes or threads to be synchronized. In this paper, we present visualizations for these three problems and describe their use as pedagogical tools to help students build accurate mental models of concurrency abstractions such as starvation, deadlock, livelock, and correct execution. We also present the results of an experiment that indicate students find using these visualizations to be significantly more engaging than reading a textbook, with no significant difference in learning. We do not claim that our visualizations should replace a course text; rather we present them as engaging pedagogical tools to complement the textbook in courses on Operating Systems, Programming Languages, and other courses where concurrency and synchronization are covered.
更多
查看译文
关键词
consumers, dining philosophers, graphics, parallel, producers, readers, synchronization, threads, visualization, writers
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要