eu.larkc.core.parallelization
Class MultiThreadingImpl

java.lang.Object
  extended by eu.larkc.core.parallelization.MultiThreadingImpl
All Implemented Interfaces:
MultiThreading

public class MultiThreadingImpl
extends java.lang.Object
implements MultiThreading

This class implements simple multi-threading functionalities.

Author:
Matthias Assel

Field Summary
 
Fields inherited from interface eu.larkc.core.parallelization.MultiThreading
INSTANCE
 
Constructor Summary
MultiThreadingImpl()
           
 
Method Summary
static MultiThreadingImpl getInstance()
          Instantiates a new multi-threading implementation.
 SetOfStatements getSynchronizedResults()
          Merges the individual outputs into a synchronized result set.
 void invokeThreadPool(java.util.HashMap<java.util.List<Plugin>,SetOfStatements> pluginList)
          Invokes the parallel execution for a given set of plug-ins.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiThreadingImpl

public MultiThreadingImpl()
Method Detail

getInstance

public static MultiThreadingImpl getInstance()
Instantiates a new multi-threading implementation.

Returns:
MultiThreadingImpl

invokeThreadPool

public void invokeThreadPool(java.util.HashMap<java.util.List<Plugin>,SetOfStatements> pluginList)
                      throws MultiThreadingException
Invokes the parallel execution for a given set of plug-ins.

Specified by:
invokeThreadPool in interface MultiThreading
Throws:
MultiThreadingException

getSynchronizedResults

public SetOfStatements getSynchronizedResults()
                                       throws MultiThreadingException
Merges the individual outputs into a synchronized result set.

Specified by:
getSynchronizedResults in interface MultiThreading
Returns:
SetOfStatements
Throws:
MultiThreadingException