为什么出队列时上来就休息10秒钟,不是应该没有消息时才会休息吗?
程序每天执行一次,刚开始队列中没有数据,所以先让休息10s中,期间队列就会有数据入队的操作,
然后线程才开始工作,
其实:var str = RedisHelper.BlockingDequeue(EnqueueName, new TimeSpan(0, 0, 0, 120));
这句也是如果队列中没有数据,也会有阻塞时间120s,
休息10s中要不要都行
有问题,这里是顺序执行逻辑,没有多线程的必要。
而且你这里有问题,入队列的时间是未知的,sleep 10S等待不一定合适。
如果一定要这么写的话,建议用信号量