public int AddThread(IGenThread genThread, String threadNameSuffix = null, IGenThread parentGenThread = null, bool autoRestart = false) { // add thread to thread list GenThreadInfo info = new GenThreadInfo(); info.Name = threadNameSuffix == null ? genThread.ThreadName : (genThread.ThreadName + "_" + threadNameSuffix); info.GenThread = genThread; if (parentGenThread != null) info.ParentGenThreadInfo = FindThread(parentGenThread); info.Thread = new Thread(info.GenThread.RunThread); info.Thread.Name = info.Name; info.StartTime = null; info.AutoRestart = autoRestart; info.StartCount = 0; Threads.Add(info); return info.GenThread.ThreadNo; }
private GenThreadInfo FindThread(IGenThread genThread) { foreach (GenThreadInfo info in Threads) if (info.GenThread == genThread) return info; return null; }