ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/eg/prodcons2
(Generate patch)

Comparing Coro/eg/prodcons2 (file contents):
Revision 1.1 by root, Tue Jul 3 03:52:48 2001 UTC vs.
Revision 1.3 by root, Tue Jul 10 01:43:21 2001 UTC

7 7
8use Coro; 8use Coro;
9use Coro::Process; 9use Coro::Process;
10use Coro::Semaphore; 10use Coro::Semaphore;
11 11
12my $produced = new Coro::Semaphore; 12my $produced = new Coro::Semaphore 0;
13my $finished = new Coro::Semaphore 0; 13my $finished = new Coro::Semaphore 0;
14 14
15async { 15async {
16 for my $i (0..9) { 16 for my $i (0..9) {
17 print "produced $i\n"; 17 print "produced $i\n";
19 $produced->up; 19 $produced->up;
20 yield if @buffer > 5; # simulate memory pressure ;) 20 yield if @buffer > 5; # simulate memory pressure ;)
21 } 21 }
22 print "work done\n"; 22 print "work done\n";
23 $finished->up; 23 $finished->up;
24 $idle;
25}; 24};
26 25
27async { 26async {
28 while () { 27 while () {
29 $produced->down; 28 $produced->down;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines