5

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")。私はこのエラーをよく理解していません。お知らせ下さい。

注:IDEとしてLuaforWindowsを使用しています。

4

2 に答える 2

7

デフォルトでは、ライブラリはlanes.genロードされず、ベースライブラリもロードされません。したがって、レーン内のおよび他のモジュールを取得するため'*'の最初のパラメーターとして渡します。lanes.genos

于 2012-05-09T09:49:23.997 に答える
1

することもできますrequire "os"

于 2012-05-09T11:12:23.587 に答える