Esempio n. 1
0
void Consumer::run () {
		
	int i = 0, j;
	while(!theEnd) {
		char d = myBuffer->take();
		consume(d);
		if (i++ == 40) {
			sleepSem.wait(92);
			i = 0;
		}else for(j=0;j<200;j++);
	}
   
	while (myBuffer->fullCount()){
		for(j=0;j<200;j++);
		char d = myBuffer->take();
		consume(d);
	}
	intLock
	cout<<endl<<"Happy End";
	intUnlock
}
Esempio n. 2
0
void Consumer::run () {
		
	int i = 0, j;
	while(!theEnd) {
		char d = myBuffer->take();
		consume(d);
		if (i++ == 40) {
			Thread::sleep(92);
			i = 0;
		}else for(j=0;j<200;j++);
	}
   
	while (myBuffer->fullCount()||Producer::num){
		char d = myBuffer->take();
		consume(d);
		dispatch();
	}
	intLock
	cout<<endl<<"Happy End"<<endl;
	intUnlock
}