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
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
Using java language with explanations pl
Step by step
Solved in 2 steps