public void ScatterComps() { bool succeeded = false; int attempts = 0; if (_atPairs == null) { GenSimAgent agent = new GenSimAgent(_catPairs, _isDirRandomized, _isRopesRandomized); agent.IsTesting = _isTestingOn; agent.Shotter = _isTestingOn ? new EngineShotsManager() : null; bool succeed = agent.ExecuteScatter(); WAgent = agent; } else { while (attempts < MAXTRY && !succeeded) { //for (int i = 0; i < 3; i++) //{ //Thread t = new Thread(new ThreadStart(() => //{ GenSimAgent agent = _atPairs != null ? new GenSimAgent(_atPairs) : new GenSimAgent(_catPairs, _isDirRandomized, _isRopesRandomized); agent.IsTesting = _isTestingOn; agent.Shotter = _isTestingOn ? new EngineShotsManager() : null; agent.MAXTRY = MAXTRY; if (agent.ExecuteScatter()) { WAgent = agent; WAgent.BestCTPPairs = WAgent.CATPairs; succeeded = true; } else { var fit = GenSimManager.GetFitness(agent); if (fit < bestFitSoFar) { WAgent = agent; bestFitSoFar = fit; } } //} //)); //_cThreads.Add(t); //t.Start(); //} //while (true) //{ // foreach (Thread thread in _cThreads) // { // if (!thread.IsAlive) // { // _cThreads.Remove(thread); // } // } // if (_cThreads.Count != 0) // { // // wait // Thread.Sleep(100); // } // else // { // break; // } //} //attempts += 3; attempts++; } } }