Sujet : Re: Pre-main construction order in modules
De : jameskuyper (at) *nospam* alumni.caltech.edu (James Kuyper)
Groupes : comp.lang.c++Date : 02. Apr 2025, 00:08:09
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vshrkp$6kb9$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Mozilla Thunderbird
On 4/1/25 16:26, Michael S wrote:
...
You probably paid attentions that the text is not crystal clear.
It looks like authors of the Standard invent their own terminology not
only when absolutely necessary but sometimes even when there exist
established terms for the same things. To their defense, I could say
that in the branch of CS that is related to concurrency and parallelism
very few terms are 100% consensus.
Feel free to propose alternative wording with the same precise meaning.
Keep in mind that these terms were invented to convey a more
precisely-define meaning than existing terms would have provided, so
wording that says "approximately" the same thing would not be an
acceptable replacement.
...
I suspected that the difference between "strong happens before" and
"happens before" is somehow related to implied ordering due to
causality. After reading the text above my feeling changed from
suspicion to strong suspicion. But it is not yet a certainty.
I'm no expert in multi-threaded code, so I don't fully understand the
significance of what it says. However, I able to derive the fact that
there is a difference between the two terms only when one evaluation
"inter-thread happens before" another evaluation, and the two
evaluations are not synchronized. In other words, the difference is with
regard to what's required for unsynchronized threads.