Forking, a la Perl?
In Perl language, there is a function called fork() that "creates a copy of the current process and from that point on, there are going to be two processes executing the same script in parallel. In both "instance" [sic] of the script there will be all the variables that already existed in the original process, but there is no connection between the variables of the two processes. There is no direct way for one process to update (or even to check) the variables in the other process." https://perlmaven.com/fork
Of course, in Max we're not necessarily working with variables... But aside from that - is there anything akin to this "fork" function in Max? I'm only interested in data manipulation along multiple processes - that is, I'm not working with audio at the moment...
I'm assuming that some form of multithreading would be a comparable option, but is there an explicit command or routine to create and run processes on multiple threads? I watched Timothy Place's tutorial, but this seemed concerned with explaining Max's threading architecture... I've read elsewhere that the equivalent of what I'm looking for might involve simply (though not necessarily simply) having various separate patchers running simultaneously...
Ideally, I'd like to stay entirely within Max's native functionality (e.g., without getting into JS)... Thanks for your input!
Have a look at poly~ which in max is probably about as close as you'll get to that functionality. Even though it's a dsp (audio) object it can be used just as easily for non-audio applications; although I believe it's multithreading capabilities are limited to only audio signals, and how many cores your cpu has.
Thanks again for your reply... I was aware of poly~, but had read elsewhere on this forum that its multithreading was reserved for audio only. It will probably still prove useful at a later point in this project... otherwise, I guess this particular goal as I'm envisioning it is not as easy to achieve with Max.