AAuto快手多线程计算圆周率

学习一下多线程,编写了圆周率计算的多线程程序,欢迎斧正!

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。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值