i too have looked at this many a times and always has been alot of folks asking over the years for it. and it seems the issue for 1 PC is getting the linuxcnc code to allow multi instances to run at once and talk.
on my citizen (this is a mitsubishi control)
each program is seperated by $ followed by a number
so $1 is path 1 , $2 is path 2,,, etc so you end up with 1 code file.
they use L followed by a number, and you just increment it each time you want to wait for another "program Path" in each path section to finish or start.
it does have a Mcode way also which is just a wait signal , iv never used it
but a Mcode wait , this you can do with two linuxcnc yes very easy as said
This is how one of our old 80's machines did it running two Fanuc controls side by side before fanuc had multipath program ability. it had a switch to change display & key pannel between the two. and a M code from each that interfaced into each PLC. it worked in them times, it had its issues now and then. in no way was it aware what each NC code was doing. so could not do anything crazy fancy like super imposed moves etc
there are many different ways i have seen it done on many controls over the years. it always just seems to diff how the machine brand thinks best is the way forward or todo it.
but on a slider you have bar moving in guide bush in and out, so they also have superimposed mode, so slave axis can follow in real time the bar moving in and out in Z direction,
ie turn an OD with 1 turret whiel bar moves in and out in Z
and 2nd can bore a complex hole while the bar is moving in Z
this would be complex and hard with two PCs running as need to pass off the axis postions so you can offset in real time the postion ontop , becasue you can tap ahole in the mode also!