This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
csce313-mp4pinie64backup/BoundedBuffer.cpp

29 lines
553 B
C++
Raw Normal View History

2015-11-10 15:56:32 -06:00
#include "semaphore.h"
#include "BoundedBuffer.h"
#include <string>
#include <vector>
void BoundedBuffer::push(string item){
empty->P();
mutex->P();
data.push_back(item);
mutex->V();
full->V();//increment the number of full slots now.
}
string BoundedBuffer::pop(){
2015-11-11 17:15:35 -06:00
if(data.size() > 0){
full->P();
mutex->P();
string item = data.back();
data.pop_back();
mutex->V();
empty->V();
return item;
}else{
return "quit";
}
2015-11-10 15:56:32 -06:00
}