/// <summary>
/// 线程安全的
/// 1、可以避免并发导致的数据问题
/// 2、避免需要引入锁时导致的性能问题
///
/// BlockingCollection 与经典的阻塞队列数据结构类似,能够适用于多个任务添加和删除数据,提供阻塞和限界能力。
/// ConcurrentBag 提供对象的线程安全的无序集合
/// ConcurrentDictionary 提供可有多个线程同时访问的键值对的线程安全集合
/// ConcurrentQueue 提供线程安全的先进先出集合
/// ConcurrentStack 提供线程安全的后进先出集合
/// </summary>
static ConcurrentDictionary<string, string> keyValues = new ConcurrentDictionary<string, string>();