The following code seems to run correctly. The goal is to start four threads on two threadgroups, and then cancel the threads after some calculations are finished, but before the calculation is completed.
I would like to change the code to limit the number of threads submitted at one time.
One approach to limiting the number of thread submitted at one time is to use executor service. But, when I try to convert to executor service, then the code doesn't produce any results.
How should the code be modified to use executor service?
Is there another way to limit the number of threads running at one time? The worker threads are computationally intensive, and would typically run for several minutes.
Somedays I think I know what I'm doing, other days ...
I played with some example codes, and came up with the following implementation of an executor service that has a cancel flag, which is what the previous code was on.