By John H. Reppy
Concurrent Programming ML (CML), integrated as a part of the SML of latest Jersey (SML/NJ) distribution, combines the simplest gains of concurrent programming and practical programming. This functional, "how-to" publication makes a speciality of using concurrency to enforce evidently concurrent purposes. as well as an instructional advent to programming in CML, the booklet offers 3 prolonged examples utilizing CML for sensible structures programming: a parallel software program construct approach, an easy concurrent window supervisor, and an implementation of allotted tuple areas. This ebook additionally illustrates complex SML programming thoughts, and contains a bankruptcy at the implementation of concurrency utilizing good points supplied by way of the SML/NJ method. will probably be of curiosity to programmers, scholars, researchers operating in machine language improvement.
Read or Download Concurrent Programming in ML PDF
Similar software design & engineering books
This booklet indicates intimately how you can construct enterprise-level safe, redundant, and hugely scalable prone from scratch on best of the open resource Linux working procedure, compatible for small businesses in addition to large universities. The middle structure offered is predicated on Kerberos, LDAP, AFS, and Samba. it really is proven the way to combine internet, message comparable, information base and different providers with this spine.
With the appearance of Mac OSX Leopard and Dashcode, it has develop into really easy to jot down your individual widgets (small courses that usually do one task). Even company humans can write little courses to do such things as graph revenues that instantly replace. So this publication is written for all clients who will want to create their very own widgets.
How Geographic Redundancy Can increase carrier Availability and Reliability of Computer-Based SystemsEnterprises make major investments in geographically redundant structures to mitigate the most unlikely hazard of a traditional or man-made catastrophe rendering their basic web site inaccessible or destroying it thoroughly.
Additional info for Concurrent Programming in ML
Milewski proposed a mechanism similar to M-structures for use as an update-in-place data structure in implementations of functional programming languages [Mil90]. The tuple spaces supported by the Linda family of languages were first described by Gelernter and Bernstein [GB82, Gel85]. Tuple spaces have been shown to be a portable model of parallel computation, with implementations on machines ranging from shared- 38 2 Concepts in Concurrent Programming memory multiprocessors to distributed-memory multiprocessors to networks of workstations [BCGL87].
The main disadvantage of choosing RPC as the basic communication mechanism is that it is asymmetric. While it makes programming client-server abstractions easier, it does not support other styles, such as producer-consumer networks. For this reason, and because implementing RPC using message passing is more natural than vice versa, message passing is a better choice than RPC for the basic communication primitive of a concurrent language. A related issue is the choice between generalized selective communication and the input-only form.
3 Monitors Monitors are a special form of module that can be used to encapsulate shared state. As with a regular module, a monitor provides data abstraction, with access to its state being 22 2 Concepts in Concurrent Programming restricted to a collection of exported procedures. In addition to data abstraction, monitors provide mutual exclusion by only allowing a single process to be executing inside the monitor at a time. In effect, this is equivalent to having a single mutex lock for the whole monitor, and wrapping the body of each exported procedure with a LOCK statement.