3 ms·
I kind of think the author simply pulled the concept of yielding execution out of the definition of concurrency and into this new "asynchrony" term. Then they
by jayd16 1y ago
I kind of think the author simply pulled the concept of yielding execution out of the definition of concurrency and into this new "asynchrony" term. Then they argued that the term is needed because without it the entire concept of concurrency is broken.
Indeed so, but I would argue that concurrency makes little sense without the ability to yield and is therefore intrinsic to it. Its a very important concept but breaking it out into a new term adds confusion, instead of reducing it.
- LegionMammal978 1y agoI'd count pure one-to-one parallelism as a form of concurrency that doesn't involve any yielding. But otherwise, I agree that all forms of non-parallel concurrency have to be yielding execution at some cadence, even if it's at the instruction level. (E.g., in CUDA, diverging threads in a warp will interleave execution of their instructions, in case one branch tries blocking on the other.)
- kristoff_it 1y ago>I kind of think the author simply pulled the concept of yielding execution out of the definition of concurrency and into this new "asynchrony" term. Quote from the article where the exact opposite is stated: > (and task switching is – by the definition I gave above – a concept specific to concurrency)
- jayd16 1y agoWell I'm having a hell of a time understanding what this article is trying to say. On a 3rd and 4th pass I think perhaps they mean task (in)dependency tracking is a fundamental concept. Independent tasks have "asynchrony." (Can we just say dependency and independency?) But even with that definition, it seems like the idea of promises, task tracking, etc is well tread territory. Then they conclude with how fire and forget tasks solve coloring but isn't that just the sync-over-async anti-pattern? I wouldn't be excited that my UI work stops to run something when there are no more green threads but they seem excited by it. Anyway, I guess I got too distracted by the high concept "this is a fundamental change in thinking" fluff of the article.
- omgJustTest 1y agoConcurrency does not imply yielding... Synchronous logic does imply some syncing and yielding could be a way to sync - which is what i expect you mean. Asynchronous logic is concurrent without sync or yield. Concurrency and asynchronous logic do not exist - in real form - in von Neumann machines
- gf000 1y agoCould you expand on what you mean?