处理复杂的计算,不过由于隔离,线程不能访问主线程的变量和方法,而且进程
-- main.lua t = love.thread.newThread("thread.lua") c1 = love.thread.newChannel() c2 = love.thread.getChannel("cookie") t:start(c1) --start()中的参数可以传递到thread里,thread用"..."接收 c2:supply(c1:demand())
-- thread.lua c1 = ...--接收thread start()里传来的参数 c2 = love.thread.getChannel("cookie") c1:supply("Hello, world!") c2:push(c1:demand())
-- main.lua function love.load() thread = love.thread.newThread("thread.lua") channel = love.thread.getChannel("test") thread:start() i = {} end function love.update(dt) v = channel:pop() if v then table.insert(i, v) end end function love.draw() love.graphics.print(tostring(i[1]), 10, 10) end
-- thread.lua c = love.thread.getChannel("test") c:push("hi")
love2d教程34--thread模块,布布扣,bubuko.com
原文:http://www.cnblogs.com/xdao/p/love2d-tutor34.html