private void executeInParallel(Collection<Object> objList, String description, final Callback callback) {
        SimultaneousExecutor executor = new SimultaneousExecutor(threadsPerCpu, getClass(), description);
        for(final Object obj : objList) {
            executor.execute(() -> callback.call(obj));
        }

        try {
            executor.awaitSuccessfulCompletion();
        } catch(Exception e) {
            throw new RuntimeException(e);
        }
    }
private void executeInParallel ( Collection < Object > objList , String description , final Callback callback ) { SimultaneousExecutor executor = new SimultaneousExecutor ( threadsPerCpu , getClass ( ) , description ) ; for ( final Object obj : objList ) { executor . execute ( ( ) -> callback . call ( obj ) ) ; } try { executor . awaitSuccessfulCompletion ( ) ; } catch ( Exception e ) { throw new RuntimeException ( e ) ; } }
Parallel execution. Modifies the mutation ConcurrentHashMap in parallel based on a Callback.
<p>
Note: This could be replaced with Java 8 parallelStream and lambadas instead of Callback interface
</p>
@param objList
@param callback