{
ringbuffer *buffer = (ringbuffer*) buf;
for (int i = 0; i < maxvalues; i++) {
+ waitSrcBuffer(buffer);
addValue(buffer, i);
printf("add: Head: %d, Tail %d, Count: %d, Value: %d\n",
buffer->head,
buffer->tail,
buffer->count,
i);
- waitSrcBuffer(buffer);
}
buffer->finish = true;
ringbuffer *buffer = (ringbuffer*) buf;
for (int i = 0; i < maxvalues; i++) {
+ waitDstBuffer(buffer);
printf("get: Head: %d, Tail %d, Count: %d, Value: %d\n",
buffer->head,
buffer->tail,
buffer->count,
getValue(buffer));
- waitDstBuffer(buffer);
}
}
ringbuffer buffer;
initRingbuffer(&buffer, 50);
- pthread_create(&readthread, NULL, readValues, &buffer);
- sleep(10);
pthread_create(&outthread, NULL, outValues, &buffer);
+ pthread_create(&readthread, NULL, readValues, &buffer);
pthread_join(readthread, NULL);
pthread_join(outthread, NULL);