synchronization point in C language

A

annalissa

Hi all,

I keep hearing about the term synchronization point in C ? what is that,
how is it different/related to sequence points in C?

is it just one of the following sequence points

; ,(comma) || && ?:(ternary operator) , formal args in a function call

what is the subtle difference between sequence point and synchronization
point ?
 
J

Julienne Walker

Hi all,

I keep hearing about the term synchronization point in C ? what is that,
how is it different/related to sequence points in C?

is it just one of the following sequence points

  ; ,(comma) || && ?:(ternary operator) , formal args in a function call

what is the subtle difference between sequence point and synchronization
point ?

Usually when I see the term "synchronization point", it means the
person who wrote it was confused and really meant "sequence point".
Whether that's the case here or not depends on how you would
informally define a synchronization point. If you think the difference
is subtle then it's very likely the subtle difference is as follows:
Sequence points exist as a C language concept while synchronization
points do not.
 
E

Eric Sosman

Hi all,

I keep hearing about the term synchronization point in C ? what is that,
how is it different/related to sequence points in C?

is it just one of the following sequence points

; ,(comma) || && ?:(ternary operator) , formal args in a function call

what is the subtle difference between sequence point and synchronization
point ?

The C language doesn't define "synchronization point,"
so you'll have to ask the people who keep telling you about
it what they mean. (Note that different people might mean
different things.)

Two possible meanings seem plausible, to me anyhow:

1) Somebody has misremembered the term "sequence point"
and says "synchronization point" instead. The song
"Mairzy Doats" is supposed to have been inspired by
a similar mistake.

2) Somebody is discussing multi-threaded programming,
and the need for independent execution threads to
"synchronize" their use of shared resources. See
comp.programming.threads for more on this topic.

.... but maybe the somebodies you hear from mean something
else altogether. Hard to tell.
 
B

Beej Jorgensen

Now synchronisation points are, IIUC, spots of a very different colour.
They are about concurrency, threads etc. I always understood them to be
points where a number of processes must wait until all have caught up.
Essentially they are important when you have parallel processing. As the
current C Standard has nothing to say about parallel processing they are
nothing to do with C. However that does not mean that they will not
become part of the next version of C.

Yeah, it seems likely. The draft talks about "synchronization
operations" (but not "synchronization points", specifically.)

C1X 5.1.2.4p5, "Multi-threaded executions and data races":
# The library defines a number of atomic operations (7.16) and
# operations on locks (lib − ???) that are specially identified as
# synchronization operations. These operations play a special role in
# making assignments in one thread visible to another. A synchronization
# operation on one or more memory locations is either an acquire
# operation or a release operation, or both an acquire and release
# operation. A synchronization operation without an associated memory
# location is a fence and can be either an acquire fence, a release
# fence, or both an acquire and release fence. In addition, there are
# relaxed atomic operations, which are not synchronization operations,
# and atomic read-modify-write operations, which have special
# characteristics.

FWIW.

-Beej
 
S

spinoza1111

Hi all,

I keep hearing about the term synchronization point in C ? what is that,
how is it different/related to sequence points in C?

is it just one of the following sequence points

  ; ,(comma) || && ?:(ternary operator) , formal args in a function call

what is the subtle difference between sequence point and synchronization
point ?

I wouldn't worry about getting the "terminology" right, Anna Lissa,
for the whole theology of "sequence points" is an ugly and unnecessary
apology for the fact that

(1) Vendors of C compilers had vended a variety of compilers which did
things in different ways

(2) The standards committees in 1989 and 1999 had no remit to fix the
numerous deficiencies of C because that would force vendors to rehire
compiler people they'd laid off to increase their stock price. Wall
Street is happy when competent and well-educated people are led to
their cars in Scotts Valley or San Jose in tears, while their
"friends" hide behind their goddamn computer screens. Therefore,
"sequence points" are an elaborate attempt to reconcile contradictory
bad practice and resemble the way in which the Catholic Church arrived
at the doctrine of the Trinity.

"Sequence points" have nothing to do with computer science, whether
expression evaluation, optimization or multiple threads. They are not
taught in ACM approved computer skewl for the most part which is why
autodidacts think they're important.
 
A

annalissa

spinoza1111 said:
(2) The standards committees in 1989 and 1999 had no remit to fix the
"sequence points" are an elaborate attempt to reconcile contradictory
bad practice and resemble the way in which the Catholic Church arrived
at the doctrine of the Trinity.
BTW I belong to the catholic church, I am curious to know why the
doctrine of trinity is an attempt to reconcile contradictory bad
practice by the catholic church.

I hope this link would be beneficial to you:-

http://www.skepticsannotatedbible.com/
 
S

spinoza1111

spinoza1111wrote:

  BTW I belong to the catholic church, I am curious to know why the
doctrine of trinity is an attempt to reconcile contradictory bad
practice by the catholic church.

Different accounts in the Gospels made Christ "Son of Man", "God",
"Son of God", and poor communications in the late Roman Empire and
Dark Ages caused "heretics" to interpret the Bible different ways. The
Councils at Nicaea and elsewhere tried to compromise, but the
compromise itself had to be believed absolutely. In the same way,
different vendors had implemented C different ways with the result
that the "knowledge" of the Standard is religious in the sense that
we're supposed to accept that certain constructs are "undefined" when
in fact in specific compilers they are well-defined.

The result in Catholicism was the replacement of a revolutionary new
basis for the equality of man and even women's "liberation" by a new
enslavement to a hierarchy of male priests. A markedly similar process
is occuring here.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top