面试题:在分布式系统,你能想出来几种生成唯一ID的方案?(15)


           return timestamp;
       

       protected long timeGen()
       {
           return (long)(DateTime.UtcNow - new DateTime(1970 1 1 0 0 0 DateTimeKind.Utc)).TotalMilliseconds;
       
   

测试代码如下:

private static void TestIdWorker()
       {
           HashSet<long> set = new HashSet<long>();
           IdWorker idWorker1 = new IdWorker(0 0);
           IdWorker idWorker2 = new IdWorker(1 0);
           Thread t1 = new Thread(() => DoTestIdWoker(idWorker1 set));
           Thread t2 = new Thread(() => DoTestIdWoker(idWorker2 set));

推荐阅读