Concurrent programming language: Difference between revisions

Content deleted Content added
CarlHewitt (talk | contribs)
CarlHewitt (talk | contribs)
No edit summary
Line 2:
 
Communication in concurrent programming languages can essentially be divided into two classes:
#Shared-statememory communication, in which threads communicate by changing shared memory locations are changed. This style of concurrent programming usually requires the application of some form of locking (e.g. mutexes, semaphores, or monitors) to coordinate between threads.
#Message-passing communication, in which messages are sent to recipients as in the [[Actor model]] and [[Process calculi]]. Message-passing concurrency tends to be far easier to reason about than shared-state concurrency, and is typically considered a more robust form of concurrent programming. Messages can be asynchronous (aka "send and pray"), as in [[Internet Protocol|IP]] on the [[Internet]], or may use a rendezvous style in which the sender blocks until the message is received, as in process calculi.