Found an issue? Please submit it and someone will look into it!
My multitasking library for lua. It is a pure lua binding, with exceptions of the integrations.
Progress is being made in v16.1.0
Link to optional dependencies:
-
lanes
luarocks install lanes
-
chronos
luarocks install chronos
-
When using love2d add multi:uManager() or any processor to love.update()
function love.update(dt) multi:uManager() end
To install copy the multi folder into your environment and you are good to go
If you want to use the system threads, then you'll need to install lanes or love2d game engine!
luarocks install multi
Have a question or need realtime assistance? Feel free to join the discord!
https://discord.gg/U8UspuA
-
Create test suite (In progress, mostly done) - Network Parallelism rework
You can run tests in 2 ways:
lua tests/runtests.lua (Runs all tests, attempts to use lanes)
love tests (Runs all tests in love2d env)
local multi, thread = require("multi"):init()
GLOBAL, THREAD = require("multi.integration.threading"):init()
multi:newSystemThread("System Thread",function()
while true do
THREAD.sleep(.1)
io.write(" World")
THREAD.kill()
end
end)
multi:newThread("Coroutine Based Thread",function()
while true do
io.write("Hello")
thread.sleep(.1)
thread.kill()
end
end)
multi:newTLoop(function(loop)
print("!")
loop:Destroy()
os.exit()
end,.3)
multi:mainloop()
--[[
while true do
multi:uManager()
end
]]
Check the Issues tab for issues