• R/O
  • SSH

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision32e62097bf429b893a0fca39ab38cc6ea6425d2b (tree)
Zeit2022-08-23 03:07:59
AutorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

asis

Ändern Zusammenfassung

Diff

diff -r 5882ea64c888 -r 32e62097bf42 CCastle/2.Analyse/8.ConcurrentComputingConcepts.rst
--- a/CCastle/2.Analyse/8.ConcurrentComputingConcepts.rst Thu Aug 18 12:17:22 2022 +0200
+++ b/CCastle/2.Analyse/8.ConcurrentComputingConcepts.rst Mon Aug 22 20:07:59 2022 +0200
@@ -1,4 +1,13 @@
1-.. include:: /std/localtoc.irst
1+.. .. include:: /std/localtoc.irst
2+
3+.. sidebar:: On this page (override:4)
4+ :class: localtoc
5+
6+ .. contents::
7+ :depth: 4
8+ :local:
9+ :backlinks: none
10+
211
312 .. _ConcurrentComputingConcepts:
413
@@ -155,8 +164,8 @@
155164 |BR|
156165 Notice: As the compiler will insert the (low level) Semaphores_, the risk that a developer forgets one is gone!
157166
158-Features
159---------
167+Aspects
168+-------
160169
161170 There are many variant on messaging, mostly combinations some fundamental aspects
162171
@@ -165,11 +174,11 @@
165174 (A)Synchronous
166175 ~~~~~~~~~~~~~~
167176
168-Synchronous messages resembles normal function-calls. Typically a “question” is send, the call awaits the
177+**Synchronous** messages resembles normal function-calls. Typically a “question” is send, the call awaits the
169178 answer-messages, and that answer is returned. This can be seen as a layer on top of the more fundamental send/receive
170179 calls. An famous example is RPC_: the Remote Procedure Call.
171180
172-Asynchronous messages are more basic: a task send a messages (to somebody else) and continues. That message can be
181+**Asynchronous** messages are more basic: a task send a messages (to somebody else) and continues. That message can be
173182 “data”, an “event:, a “commands” or a “query”. Only in the latter case some responds is essental. With async messages,
174183 there is no desire that to get the answer immediately.
175184
@@ -189,12 +198,12 @@
189198 This is not needed when a buffer is available. Depending on the size of the buffer, some messages can be send before
190199 the are picked-up by the receiver.
191200 |BR|
192-Note this is always asymmetric: messages need to be send before the can be read.
201+Note: this is always asymmetric; messages need to be send before the can be read.
193202
194-Blocking
195-~~~~~~~~
203+(Non-) Blocking
204+~~~~~~~~~~~~~~~
196205
197-Both the writer and the reader can be blocking (or not); which is a facet of the function-call. A blocking reader it
206+Both the writer and the reader can be *blocking* (or not); which is a facet of the function-call. A blocking reader it
198207 will always return when a messages is available -- and will pauze until then.
199208 |BR|
200209 Also the write-call can be blocking: it will pauze until the message can be send -- e.g. the reader is available
@@ -204,15 +213,12 @@
204213 Then, the developer will commonly “cycle” to poll for a profitable call; and let the task do some other/background work
205214 as well.
206215
207-Reliable
208-
209216 Uni/Bi-Directional, Broadcast
210217 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
211218
212219 Messages --or actually the channel that transport them-- can be *unidirectional*: from sender to receiver only;
213220 *bidirectional*: both sides can send and receive; or *broadcasted*: one message is send to many receivers [#anycast]_.
214221
215-
216222 Reliability
217223 ~~~~~~~~~~~
218224
@@ -240,12 +246,19 @@
240246 Some examples
241247 -------------
242248
243-In the section below, we mention a few, everyday message-passing systems, to shed light on the theoretical features
249+In the section below, we mention a few, everyday message-passing systems, to shed light on the theoretical features.
244250
245251 Pipes
246252 ~~~~~
247253
248-Unix Pipes are
254+The famous *Unix Pipes* are unidirectional, reliable, blocking, asynchronous, buffered, non-networking **data-only**
255+messages. The (“stdout”) output of one process is fed as input to (one) other process. It’s data only, in one direction
256+-- but the controll can in two directions: when the second (receiving) process can’t process the data (and the buffers
257+becoming full), the first process can be slowed down (although this a not well know feature).
258+
259+It’s also an example of a quite implicit channel: the programmer (of both programs) have nothing (to little) to do
260+extra, to make it possible.
261+
249262
250263 ------------------------
251264
diff -r 5882ea64c888 -r 32e62097bf42 CCastle/2.Analyse/CCC-sidebar-async.irst
--- a/CCastle/2.Analyse/CCC-sidebar-async.irst Thu Aug 18 12:17:22 2022 +0200
+++ b/CCastle/2.Analyse/CCC-sidebar-async.irst Mon Aug 22 20:07:59 2022 +0200
@@ -1,4 +1,4 @@
1-.. -*- rst -*-
1+.. -*-rst-*-
22 included in `8.BusyCores-concepts.rst`
33
44 .. sidebar::
@@ -14,6 +14,7 @@
1414 * Asynchronous_communication_
1515 * Asynchrony_Computer_Programming_
1616 * Synchronization_
17+ * Blocking_
1718
1819 and (disambiguation pages):
1920
@@ -29,4 +30,4 @@
2930 .. _Synchronization-Disambiguation: https://en.wikipedia.org/wiki/Synchronization_(disambiguation)
3031 .. _Async: https://en.wikipedia.org/wiki/Asynchrony
3132 .. _Sync: https://en.wikipedia.org/wiki/Sync
32-
33+.. _Blocking: https://en.wikipedia.org/wiki/Blocking_(computing)