multi
multi copied to clipboard
16.0.0 Network parallelism
Plan is to structure network parallelism like threads, so they should contain methods like:
NGLOBAL, NTHREAD = require("integration.networkManager"):init(connectionDetails)
NTHREAD:newFunction(func, holdme)
NT = multi:newNetworkThread(name, func, ...)
NT = NTHREAD:newNetworkThread(name,func,...)
multi:newNetworkQueue(name) -- Like systemthreadedqueue
multi:newNetworkTable(name)
multi:newNetworkJobQueue(n) -- If the host contains the libraries for systemthreading, all hosts along with all their threads will run jobs.
-- The NTHREAD interface should work just like THREAD.
Internally, things will get rather complex. Network parallelism will require the socket library to work. A lot of work will need to be done to get this functional. Should be fun though
Currently being planned for the next release.
Will hold off on this for now.