public static NamedThread Run(string name, Action<CancellationToken> action) { lock (Threads) { NamedThread namedThread = Threads[name]; if (namedThread == null) namedThread = new NamedThread(name, action); return namedThread; } }