| | |
Summary: This paper appears in the Proceedings of the 2002 Usenix Annual Technical Conference, Monterey, CA, June 2002.
Cooperative Task Management
without Manual Stack Management
or, Event-driven Programming is Not the Opposite of Threaded Programming
Atul Adya, Jon Howell, Marvin Theimer, William J. Bolosky, John R. Douceur
Microsoft Research
1 Microsoft Way, Redmond, Washington 98052
{adya, howell, theimer, bolosky, johndo}@microsoft.com
Abstract
Cooperative task management can provide program ar-
chitects with ease of reasoning about concurrency is-
sues. This property is often espoused by those who
recommend "event-driven" programming over "multi-
threaded" programming. Those terms conflate several
issues. In this paper, we clarify the issues, and show how
one can get the best of both worlds: reason more simply
about concurrency in the way "event-driven" advocates
recommend, while preserving the readability and main-
tainability of code associated with "multithreaded" pro-
gramming.
|