This comprehensive note is an
introduction to concurrent programming using the ERLANG language, well suited
for developing robust applications. It starts with a tutorial on ERLANG basics,
introducing the reader to sequential programming concepts and use of lists and
tuples. Concurrent and distributed programming is at the very core, detailing
strategies for managing multiple processes effectively. It is underlined that
good error handling should be achieved and best programming practice performed
to create a more robust application, and therefore developers can gracefully
handle their problems. This note also puts emphasis on functions and standard
libraries that are built in and enhanced the functionality of ERLANG. This
resource is invaluable for any programmer who needs to take advantage of the
best features of ERLANG in concurrent programming through the presentation of
different applications and discussion on common errors in ERLANG.
Author(s): Computer Science Laboratory, Ericsson
Telecommunications Systems Laboratories
These class notes
give a course outline that is conducted in-depth on concurrent programming. They
include the basic concepts of parallel programming, multi-processing, and
multi-threading. Threads' definitions and properties are presented, such as
lifecycle processes and the structure of concurrent hardware architecture. The
basic algorithms form the foundation, including Kessel's and ticket algorithms,
with semantic and the bakery algorithm as the key synchronization tools. Another
topic that the material will be discussing about concurrency issues is deadlock
and speculative multithreading. This book is a resource on getting an
easy-to-access introduction to concurrent programming principles; it is
excellent for student and professional readers who want to learn about how to
effectively manage concurrent processes in software applications.