This PDF
offers a real-world understanding of concurrent programming in the Pharo
programming environment by concentrating on it. First, it introduces concurrent
programming and leads to a simple example based on which the fundamental ideas
are constructed. Some important concepts include creating processes, lifetimes,
ProcessorScheduler, priorities of processes, and scheduler rules so that one can
understand the management of the flow of executions. Discussions on important
APIs accompany working examples of semaphores, which should help developers in
their ability to learn synchronization techniques. It is designed for
programmers to acquire all the skills one would need to implement concurrent
solutions effectively in Pharo and thus can be a valuable member of any
programmer's library.
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
This web resource is a comprehensive tutorial
on concurrent and distributed programming with all basics illustrated with
practical examples. It starts with an overview of concurrency, illustrating
critical principles with simple programming examples. Notes provide overviews of
several programming languages-including C, C++, Java, Ada, and Perl-showing how
each approaches concurrency. It encompasses mutual exclusion, message passing,
and both the standard and an enhanced version of the classic Dining Philosophers
problem. It also touches on threading in Java and Ada as well as introduces the
POSIX threads library (pthreads) for C programs. This book is perfect for
students and practitioners who need to know the underpinning of concurrent
programming in different environments.