Actors in C++
\zline{\fbox{ACT++}}class bounded_buffer : actor { int buf[MAX]; int in, out; public: bounded_buffer() { in=0; out=0; } int get() { reply buf[out++]; out %= MAX; if (in == out) become( empty_buffer,in,out); else become( partial_buffer,in,out); } void put( int item ) { buf[in++] = item; in %= MAX; if (in == out ) become( full_buffer,in,out); else become( partial_buffer,in,out); } };