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