←back to thread

289 points kristoff_it | 1 comments | | HN request time: 0s | source
Show context
threatofrain ◴[] No.44609107[source]
IMO the author is mixed up on his definitions for concurrency.

https://lamport.azurewebsites.net/pubs/time-clocks.pdf

replies(4): >>44609321 #>>44609563 #>>44610163 #>>44611854 #
tines ◴[] No.44609321[source]
Can you explain more instead of linking a paper? I felt like the definitions were alright.

> Asynchrony: the possibility for tasks to run out of order and still be correct.

> Concurrency: the ability of a system to progress multiple tasks at a time, be it via parallelism or task switching.

> Parallelism: the ability of a system to execute more than one task simultaneously at the physical level.

replies(9): >>44609334 #>>44609420 #>>44609491 #>>44609531 #>>44609532 #>>44609822 #>>44609915 #>>44610273 #>>44611918 #
jkcxn ◴[] No.44609532[source]
Not the OP, but in formal definitions like Communicating Sequential Processes, concurrency means the possibility for tasks to run out of order and still be correct, as long as other synchronisation events happen
replies(1): >>44609678 #
gowld ◴[] No.44609678{3}[source]
Concurrency implies asynchrony (two systems potentially doing work at the same time withut waiting for each other), but the converse is not true.

A single process can do work in an unordered (asynchronous) way.

replies(1): >>44610100 #
1. Zambyte ◴[] No.44610100{4}[source]
Parallelism implies concurrency but not does not imply asynchrony.