Concurrent programming language
Concurrent programming languages are programming languages that use language constructs for concurrency. These constructs may involve multi-threading, support for distributed computing, message passing, shared resources (including shared memory) or futures (known also as promises).
Related Topics:
Programming languages - Concurrency - Multi-threading - Distributed computing - Message passing - Shared resources - Shared memory - Futures
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
With some languages communication between concurrent parts of an application is hidden from the programmer (e.g., by using futures), with others it must be handled explicitly. Explicit communication can be divided into two classes:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
- Shared-memory communication, in the which concurrent parts communicate by changing shared memory locations. 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-memory concurrency, and is typically considered a more robust form of concurrent programming. Messages can be asynchronous (aka "send, pray, and if no acknowledgment send again"), as packets on the Internet, or may use a rendezvous style in which the sender blocks until the message is received, as in TCP on the Internet and synchronous process calculi.
Today the most commonly used programming lanuages with specific constructs for concurrency are Java and C# with their multi-threading and locking. These programming languages make use of both message-passing and shared-memory communication.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ Table of Content ~
| ► | Introduction |
| ► | Languages where concurrency is important |
~ What's Hot ~
~ Community ~
| ► | History Forum Come and discuss about History, Civilizations, Historical Events and Figures |
| ► | History Web-Ring A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site. |
and are licensed under the GNU Free Documentation License.
Lexicon - Privacy Policy - Spiritus-Temporis.com ©2005.