【发布时间】:2014-08-06 18:30:56
【问题描述】:
a) 我有一个任务,我希望服务器每 X 小时为每个用户(约 5000 个用户)执行一次任务。是否更好:
1 - 为每个执行任务的用户创建一个工作线程并休眠 X 小时然后重新启动,其中每个任务在随机时间运行(因此大多数任务每时每刻都在休眠)
2 - 创建一个循环遍历用户的线程并为每个用户执行任务,然后重新开始(即使这需要超过 X 小时)。
b) 如果使用计划 1,睡眠线程会影响服务器的性能吗? c) 如果答案是肯定的,睡眠线程是否与正在执行任务的线程具有相同的效果?
请注意,此服务器不仅用于此任务。它用于与大约 5000 个客户端的所有通信。
【问题讨论】:
标签: multithreading celery production-environment