public override void StartYarn(Yarn yarn, Task task) { YarnOfThread yarnOfThread = ((YarnOfThread)yarn); yarnOfThread.Thread.Task = task; task.OnBeforeRun += yarnOfThread.TaskBeforeRun; yarnOfThread.Thread.Start(); }
public override void TerminateYarn(Yarn yarn) { YarnOfThread LYarn = (YarnOfThread)yarn; if (LYarn.Thread.TheThread == null) { this.ReleaseYarn(yarn); return; } if (LYarn.Thread.TheThread.ThreadState != ThreadState.Unstarted) { LYarn.Thread.Stop(); } }