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 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.
These notes provide a detailed expositions on advanced topics in
concurrent programming; these are focused both on theoretical foundations as
well as on practical applications of shared-variable programming. Among the
various aspects treated are mutual exclusion techniques (such as Petersen's
algorithm) and, of course, synchronization methods such as semaphores and
monitors. The introduction of paradigms in distributed programming is also
covered by means of remote procedure calls (RPC), as well as transactional
memory, among other things. The module covers the proof outline logic of
concurrent programs that allow for a rigorous approach toward understanding the
correctness of concurrent systems. As graduate-level study notes perfect for
anyone interested in comprehending concurrency in software development at a
deeper level than usual, they provide an excellent approach toward understanding
the reasoning of designs and also toward verifying critical properties in
concurrent systems.