Pretty sure this will work OK because it must be a very commonplace scenario, but just realising that I don't properly understand what's happening in the background:
I want to run two programs in harness (all on the same Pi). So one program will read multiplexed sensor data from a USB port frequently eg every 2 seconds, parse and process it and then make the data available in a standard eg JSON format to any requesting program eg via an IP port. The second program (which will actually be a standalone third-party program) understands the standard data format, will make appropriate IP data requests and can then perform a lot of further processing on the data.
Presumably I can just assume that this 2-program configuration should work just fine (providing of course that the overall workload doesn't get too intensive), after all my first program is effectively just acting as a driver?
But the second part of my question was whether this is all likely to happen on a single core? Will a second core kick in automatically, eg to handle a separate thread for the second program? Do I have any control over this? More curiosity than anything.