0

ホスト名をチェックしようとするマルチスレッドウォッチャーを作成しようとしています。簡単なコードは一般的な考え方を示しています。しかし、スレッドワーカーで sock.dns.toip を呼び出すと、スクリプトの奇妙な動作が発生しました。ワーカーは実行されません。ソケットコードをワーカーから除外すると、すべてが完全に機能します。

スレッドワーカーでsocket.dns.toipを実行するには?

local lanes = require "lanes".configure()
local linda = lanes.linda()


local function resolver(name)
    while true do
        local socket = assert(require "socket")
        local _, resolve = socket.dns.toip(string.format("%s.", "www.google.com"))
        print('resolver[' .. name ..']')
    end
end

lanes.gen("", resolver)('a')
os.execute("sleep 0.1")
4

0 に答える 0