Functions will run as you call them and finish before anything else runs.
The exemption of that is if you make the function asynchronous which just means it will start and run in the background while the event sheet continues with the rest of the sheet. I haven’t used it but I remember seeing it as a setting for functions.
The async functions could be implemented in a few ways. One is with webworkers which could mean the processing could be done on another core. Another is chunks of each async function would be run at a time.
Typically the main issue with multi threading is when multiple things are trying to modify the same thing, so I have no idea how that’s handled. Maybe it’s not at all? Maybe the manual has info about that.
At any rate even async functions are run in the order they are called. Nothing is at the same moment.
Typical uses of async stuff is loading a file from disk or a website. Maybe even a large loop doing something with an array. It’s not suited well when multiple async things are trying to change the same stuff. That will be unpredictable behavior with which will change it first.