Computer Science – Programming Languages
Scientific paper
2011-02-04
Computer Science
Programming Languages
To appear in PLACES'11
Scientific paper
Threads are a convenient and modular abstraction for writing concurrent programs, but often fairly expensive. The standard alternative to threads, event-loop programming, allows much lighter units of concurrency, but leads to code that is difficult to write and even harder to understand. Continuation Passing C (CPC) is a translator that converts a program written in threaded style into a program written with events and native system threads, at the programmer's choice. Together with two undergraduate students, we taught ourselves how to program in CPC by writing Hekate, a massively concurrent network server designed to efficiently handle tens of thousands of simultaneously connected peers. In this paper, we describe a number of programming idioms that we learnt while writing Hekate; while some of these idioms are specific to CPC, many should be applicable to other programming systems with sufficiently cheap threads.
Chroboczek Juliusz
Kerneis Gabriel
No associations
LandOfFree
CPC: programming with a massive number of lightweight threads does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with CPC: programming with a massive number of lightweight threads, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and CPC: programming with a massive number of lightweight threads will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-491968