initialize the threads , the number of threads depends on number defined from the user . concode_field_sep ArrayList<MigrationMessage> vmQueue concode_elem_sep CountDownLatch threadLocker concode_elem_sep boolean isExceedTime concode_elem_sep ArrayList<ControllerThread> workerList concode_elem_sep double highestMigTime concode_elem_sep int threadNum concode_elem_sep FuzzyLogic fuzzy concode_field_sep double findHighestMigTime concode_elem_sep double findLowestMigTime concode_elem_sep ControllerThread findFreeThread concode_elem_sep void control concode_elem_sep double getHighestMigrationTime concode_elem_sep void controlByClosedLoop concode_elem_sep void prepareForThreadAdaption concode_elem_sep void changeTraceFile concode_elem_sep void synchroWorkerThreads concode_elem_sep int fuzzyCalculate concode_elem_sep void manageThreadAdaption concode_elem_sep void startControlling concode_elem_sep void controlByOpenLoop
void function ( SimEntity arg0 , SimEntity arg1 ) { workerList = new ArrayList < > ( ) ; threadLocker . countDown ( ) ; for ( int loc0 = 0 ; loc0 < threadNum ; loc0 ++ ) { ControllerThread loc1 = new ControllerThread ( loc0 , arg0 , arg1 , 0 , threadLocker ) ; workerList . add ( loc1 ) ; } }