public void Join(string name) { users.Add(name, channel); foreach (var item in users.Values.Where(x => x != channel)) { new Thread(() => item.AddUserToList(name, true)).Start(); } foreach (var item in users.Keys) { new Thread(() => channel.AddUserToList(item, false)).Start(); } }