Multi Version: 15.0.0 Fake it till you make it
Key Changes
- Emulating system threading on a single thread
- Purpose to allow consistant code that can scale when threading is available. Check out the changelog for more details
- Proper support for lua versions above 5.1 (More testing is needed, a full test suite is being developed and should be made available soon)
Found an issue? Please submit it and I'll look into it!
My multitasking library for lua. It is a pure lua binding, with exceptions of the integrations and the love2d compat. If you find any bugs or have any issues, please let me know and I'll look into it!.
INSTALLING
Links to dependencies: lanes
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 use luarocks luarocks install multi
Going forward I will include a Release zip for love2d. The Network Manager rework is currently being worked on and the old version is not included in this version.
Discord
Have a question that you need asking? Or need realtime assistance? Feel free to join the discord!
https://discord.gg/U8UspuA
Planned features/TODO
Finish DocumentationFinished- Create test suite
- Network Parallelism rework
- Fix some bugs
Usage: Check out the documentation for more info
package.path="?.lua;?/init.lua;?.lua;?/?/init.lua;"..package.path
local multi, thread = require("multi"):init()
GLOBAL, THREAD = require("multi.integration.threading"):init()
multi:newSystemThread("System Thread",function()
while true do
THREAD.sleep(1)
print("World!")
end
end)
multi:newThread("Coroutine Based Thread",function()
while true do
print("Hello")
thread.sleep(1)
end
end)
multi:mainloop()
--[[
while true do
multi:uManager()
end
]]
Known Bugs/Issues
Check the Issues tab for issues