User Tools

Site Tools


boundedbuffer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
boundedbuffer [2007/09/24 22:31] jyangboundedbuffer [2007/09/25 05:20] (current) nshafiei
Line 273: Line 273:
 </code> </code>
  
 +
 +
 +<code c>
 +
 +// i1 and i2 are initialized to 0
 +void put(int data)
 +{
 +      int i1, i2;
 +      read("consumer", ?i2);
 +      in("producer",?i1);
 +      if(i1==size)i1=0;      
 +      while(i1+1==i2 || (i1+1==size && i2==0))
 +         read("consumer",?i2);      
 +      out("data", data, i1); 
 +      out("producer", i1+1);        
 +}
 +
 +
 +int get()
 +{
 +      int i2, data;
 +      in("consumer",?i2);
 +      if(i2==size)i2=0;
 +      in("data",?data,i2);
 +      out("consumer", i2+1);       
 +      return data; 
 +}
 +
 +</code>
boundedbuffer.1190673063.txt.gz · Last modified: 2007/09/24 22:31 by jyang

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki