学习一下多线程,编写了圆周率计算的多线程程序,欢迎斧正!
某次输出结果:
耗时 1249.7631907361 毫秒
耗时 642.27127537457 毫秒
耗时 435.6699226019 毫秒
耗时 329.03695926117 毫秒
注:系统配置 WinXP SP3,intel core2 CPU Quad Q8300 2.50GHz,内存金士顿两条共4GB。
import time.performance
io.open()
var f = function(arg){
import math
var v=0
var N=arg.N
for j=arg.ind;N;arg.tn
v+=1/(1+(j/N)**2)
thread.set("sum"++arg.ind,v/N)
}
var N=10000000
for tn=1;4 {
tk=time.performance.tick()
handle={}
for j=1;tn
handle[j]=thread.create(f,{ind=j;N=N;tn=tn})
thread.waitAll(handle)
var s=0
for j=1;tn
s+=thread.get("sum"++j)
io.print("耗时",time.performance.tick()-tk,"毫秒")
}
execute("pause")
io.close()
某次输出结果:
耗时 1249.7631907361 毫秒
耗时 642.27127537457 毫秒
耗时 435.6699226019 毫秒
耗时 329.03695926117 毫秒
注:系统配置 WinXP SP3,intel core2 CPU Quad Q8300 2.50GHz,内存金士顿两条共4GB。