多线程和单线程的执行效率问题
一提到多线程一般大家的第一感觉就是可以提升程序性能,在实际的操作中往往遇到性能的问题,都尝试使用多线程来解决问题,但多线程程序并不是在任何情况下都能提升效率,在一些情况下恰恰相反,反而会降低程序的性能。这里给出两个简单的例子来说明下: 程序1: View Code import threading from time import ctime class MyThread(threading.Thread): def __init__(self, func, args, name): threading.Thread.__init__(self) self.name = name self.func = func self.args = args def run(self): print 'starting', self.name, 'at:',ctime() apply(self.func, self.args) print self.name, 'finished at:', ctime() def fun1(x): y = 0 for i in range(x): y+=1 def fun2(x): y = 0 for i in range(x): y+=1 def main(): print 'staring single thread at:',ctime() fun1