Either both functions get the same semaphore, and in effect, they run in serial. Or they don't, and the semaphore is in principle bogus.
Wrong. See WaitForMultipleObjects--but in case the source of the reference scares you, here is the salient point:
The WaitForMultipleObjects function returns when any one or all of the specified objects are in the signaled state.
Emphasis added
And there's no order of execution here, since you don't know in which order the functions are going to be performed.
Only by your definition, not mine. My definition explicitly allows concurrent derivation of the operands to any non-serialising, binary operator.
And the principle is well known. It is termed "dataflow threading" or Sheduled Dataflow Architecture.
But we've said this dozens of times already.
Wrongly each time.
In reply to Re^36: Why is EO undefined? (More details!)
by BrowserUk
in thread Why is the execution order of subexpressions undefined?
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |