Esempio n. 1
0
        public static void Run()
        {
            CacheManager cm = new CacheManager(2, 5);

            Random rnd = new Random();

            List<Task> tasks = new List<Task>();
            for (int i = 0; i < 30; i++)
            {
                Worker w = new Worker(cm, "key" + i % 6, rnd.Next(200, 1000));
                Task task = Task.Factory.StartNew(() => w.Run());
                tasks.Add(task);
                Thread.Sleep(3);
            }

            Task.WaitAll(tasks.ToArray());
        }
Esempio n. 2
0
        /// <summary>
        /// 解析可选参数列表
        /// </summary>
        /// <param name="cacheManagerParams"></param>
        /// <returns></returns>
        private static CacheManager CreateCacheManager(params object[] cacheManagerParams)
        {
            int threadCount = -1;
            if (cacheManagerParams != null && cacheManagerParams.Length > 0 && cacheManagerParams[0] != null)
            {
                if (!Int32.TryParse(cacheManagerParams[0].ToString(), out threadCount))
                {
                    threadCount = -1;
                }
            }

            CacheManager cm = null;
            if (threadCount > 0)
            {
                cm = new CacheManager(threadCount);
            }
            else
            {
                cm = new CacheManager();
            }

            return cm;
        }
Esempio n. 3
0
 public Worker(CacheManager cm, string key, int round)
 {
     m_cm = cm;
     m_key = key;
     m_round = round;
 }