class Solver: def __init__( self, argProblem ): print( " Solver constructor" ) self.problem = argProblem # The 'ManagerThread' is mandatory to control all other threads self.managerThread = ManagerThread( self.problem ) def Solve( self ): print( " Solving problem" ) self.managerThread.start() print( " Started managerThread" ) # It is only separated for the reason of better clarity ... # of the real thread quantity, so block until this thread finishes self.managerThread.join() # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4