我想使用Lua Lanes进行多线程处理并记录所花费的时间。这是代码:
require "lanes"
function performTest ()
os.execute("testJson-mt.lua")
end
for i=1,10,1 do
f= lanes.gen(performTest)
a=f()
startTime = os.time()
print("ID "..a[1].." completed.")
endTime = os.time()
diff = os.difftime (endTime, startTime)
print(i..","..os.date("%x %X",startTime)..","..os.date("%x %X",endTime)..","..startTime..","..endTime..","..diff)
end
但是,当我运行代码时,控制台会返回错误:lua: testLanes.lua:4: attempt to index global 'os' (a nil value)
。
此错误代码指向此行os.execute("testJson-mt.lua")
。我不太明白这个错误。请指教。
注意:我使用Lua for Windows作为IDE。
答案 0 :(得分:7)
默认情况下,lanes.gen
loads no libraries,甚至不是基本库。因此,将'*'
作为第一个参数传递给lanes.gen
,以获取os
和其他模块。
答案 1 :(得分:1)
您也可以require "os"
。