$29.99
CS3413
Lab2
Threads
LABS ARE TO BE COMPLETED INDIVIDUALLY BY ALL STUDENTS!
Write a multithreaded program that calculates various statistical values for a list of numbers. This program will read a series of numbers from standard input (scanf()) and then will create three separate worker threads. One thread will determine the average of the numbers, the second will determine the maximum value and the third will determine the minimum number. For example, suppose your program is passed the integers
3 9 17 23 42 0
The program will report
The average value is 18
The minimum value is 3
The maximum value is 42
The variables representing the average, minimum and maximum values will be stored globally. The worker threads will set these values, and the parent thread will output the values once the workers have exited.
Notes:
• Your threads should run in parallel, not concurrently.
• The end of the input will be denoted by reading a 0 (which is NOT to be used as part of the calculation).
• You are to use pipes to deliver numbers read to the worker threads.
Once completed be sure to submit your C code via D2L.