2.0 KiB
2.0 KiB
Multi Version: 16.0.1 - Bug fix
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.0.0
INSTALLING
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
Discord
Have a question or need realtime assistance? Feel free to join the discord!
https://discord.gg/U8UspuA
Planned features/TODO
Create test suite (In progress, mostly done)- Network Parallelism rework
Usage: Check out the documentation for more info
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
]]
Known Bugs/Issues
Check the Issues tab for issues