基本上,我创建了一个将值添加到Redis的程序。目前我的计时如下:
real 0m27.759s
user 0m18.129s
sys 0m5.580s
然而,当我尝试运行多个线程时:
if __name__ == '__main__':
try:
for x in range(0, NUM_THREADS):
Thread(None, startProgram, None,
(NUM_HOSTS/NUM_THREADS*x+1,
NUM_HOSTS/NUM_THREADS*(x+1))).start()
except Exception as errtxt:
print errtxt
当我将NUM_THREADS
设置为10
时,我得到了这个结果:
real 0m32.642s
user 0m22.953s
sys 0m11.473s
为什么我的程序使用更多线程后运行变慢了?
我在运行Linux Ubuntu 11.04和Python 2.7.1。