Question
Design and write is meant to mean pseudo code. You are to use C or C++ as youre the basis of your pseudo code. Your
Design and write is meant to mean pseudo code. You are to use C or C++ as youre the basis of your pseudo code. Your pseudo code should be written at level such that it might compile, however you are not expected to actually get a clean compile. Keep focused on the concepts, and not so much the exact function names or pristine syntax.
A) Design and write a C++ language multithreaded single process sorting program that works as follows: A list of integers is divided into two smaller lists of equal size. Two separate threads (which we will term sorting threads) sort each sublist using a sorting algorithm of your choice. The two sublists are then merged by a third threada merging thread which merges the two sublists into a single sorted list.
Because global data are shared cross all threads, perhaps the easiest way to set up the data is to create a global array. Each sorting thread will work on one half of this array. A second global array of the same size as the unsorted integer array will also be established. The merging thread will then merge the two sublists into this second array. Graphically, this program is structured according to Figure 4.20. This programming project will require passing parameters to each of the sorting threads. In particular, it will be necessary to identify the starting index from which each thread is to begin sorting. Refer to the instructions in Project 1 for details on passing parameters to a thread. The parent thread will output the sorted array once all sorting threads have exited.
B) Repeat Task A, but instead of a multithreaded single process, design and write2 the program as multiple processes, each being single threaded. You are to apply the IPC concepts
C) Now that you have explored a couple of options to solve this type of problem, which option would you choose as a mission-critical production system? Explain and defend your selection.
Original List 7, 12, 19, 3, 18, 4, 2, 6, 15, 8 Sorting Thread Sorting Thread 7,12, 19, 3,18 4, 2,6, 15, 8 Merge Thread 12' 3, 4, 6, 7, 8, 12, 15, 18, 19 Sorted List Figure 4.20 Multithreaded sorting
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started