]> gitweb.hhaalo.de Git - ringbuffer.git/commitdiff
add: output thread
authorBastian Dehn <hhaalo@arcor.de>
Sun, 24 Apr 2022 15:40:12 +0000 (17:40 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 24 Apr 2022 15:40:12 +0000 (17:40 +0200)
demo.c

diff --git a/demo.c b/demo.c
index 5335f0ed43bee9924995a72d0ac7b4a87211a00f..bad3e2e253a4c194dab279c06e49da2df4275fa7 100644 (file)
--- 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;