From 261b326c532955ea0525ce11f7c127e6e65c713c Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 24 Apr 2022 17:40:12 +0200 Subject: [PATCH] add: output thread --- demo.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) 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; -- 2.39.5