From: Bastian Dehn Date: Sun, 24 Apr 2022 15:40:12 +0000 (+0200) Subject: add: output thread X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=261b326c532955ea0525ce11f7c127e6e65c713c;p=ringbuffer.git add: output thread --- diff --git a/demo.c b/demo.c index 5335f0e..bad3e2e 100644 --- a/demo.c +++ b/demo.c @@ -9,23 +9,40 @@ void *readValues(void *buf) 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;