Exercise 4: In this program, you manipulate a Table, having an array of doubles, which is shared between 3 threads DepositThread and 3 other threads RemoveThread. - DepositThread increments (by 1) the values of the array. - RemoveThread decrements (by 1) the values of the array. - Every DepositThread and RemoveThread has a thread name. - Before starting the incrementing or decrementing task, every thread has to introduce itself by printing a sentence as follows: THREAD thread-name is incrementing/decrementing the array... Example: "THREAD DepositTh-1 is incrementing the array..." - The table is initially filled by zeros. So, logically, at the end of threads’ job, the table values must be all zeros again. - The main thread waits till all other threads finish execution, and then it prints the resulting array elements. - Class Table is given below: Table - tab[] : double + Table() + incTab() : void + decTab() : void + displayTab() : void
Exercise 4:
In this program, you manipulate a Table, having an array of doubles, which is shared between 3 threads DepositThread and 3 other threads RemoveThread.
- DepositThread increments (by 1) the values of the array.
- RemoveThread decrements (by 1) the values of the array.
- Every DepositThread and RemoveThread has a thread name.
- Before starting the incrementing or decrementing task, every thread has to introduce itself by printing a sentence as follows:
THREAD thread-name is incrementing/decrementing the array... Example: "THREAD DepositTh-1 is incrementing the array..."
- The table is initially filled by zeros. So, logically, at the end of threads’ job, the table values must be all zeros again.
- The main thread waits till all other threads finish execution, and then it prints the resulting array elements.
- Class Table is given below:
Table - tab[] : double
+ Table()
+ incTab() : void
+ decTab() : void
+ displayTab() : void
![Exercise 4:
In this program, you manipulate a Table, having an array of doubles, which is shared between 3
threads DepositThread and 3 other threads RemoveThread.
- DepositThread increments (by 1) the values of the array.
- RemoveThread decrements (by 1) the values of the array.
- Every DepositThread and RemoveThread has a thread name.
- Before starting the incrementing or decrementing task, every thread has to introduce itself by
printing a sentence as follows:
THREAD thread-name is incrementing/decrementing the array...
Example: "THREAD DepositTh-1 is incrementing the array..."
- The table is initially filled by zeros. So, logically, at the end of threads' job, the table values must
be all zeros again.
- The main thread waits till all other threads finish execution, and then it prints the resulting array
elements.
- Class Table is given below:
Table
- tab[] : double
+ Table()
+ incTab() : void
+ decTab() : void
+ displayTab() : void](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F4cc8a8c7-1842-4c94-907e-1d298376c7c3%2F4f6fa2e3-9a9b-4952-8040-896e7ece0052%2Ffrhi5po_processed.jpeg&w=3840&q=75)


Step by step
Solved in 2 steps









