public void PerformAnalisys(AnalisysParams Params) { //throw new NotImplementedException(); try { this.SetMultiThreadPrevalence(new Prevalence(0, 0, this.GetSettings().WordLength / this.GetSettings().SBoxCount)); this.AddSolution = Params.AddSolution; var TaskerParams = new TaskerParams(this, Params.Alg); var WP = new WorkerParams(Params.MaxThreads, TaskerParams, Params.TaskFinishedFunc); _worker = new Worker(WP); { if (!Params.ASync) { _worker.Run(); } else { _worker.AsyncRun(); } } } catch { Logger.UltraLogger.Instance.ExportToFile(); } }
public void Init(WorkerParams Params) { this.Params = Params; Tasker = new Tasker(Params.TaskerParams); TaskQueue = new ConcurrentQueue <Task>(); if (Params.TaskFinishedFunc != null) { TaskFinished += Params.TaskFinishedFunc; } CreateTheads(); }
public Worker(WorkerParams Params) { Init(Params); //JOBSDONE += new JOBSDONEHANDLER(InitAndRunFreeThreads); }