äWhat is
concurrency
äPermit many
activities to proceed in parallel
äThe activities synchronize and communicate at well defined points
äWhy
concurrency?
äEasier to describe a system using several independent cohesive activities than to have one monolithic coupled function
äLink the activities
using well-defined interaction mechanisms
äExploit multiple
resources
äFor example: many
processors
äHow can we time
share between activities?
äNeed to switch
between concurrent activities
äSwitching is
referred to as context switching
äExamples of
concurrent programming paradigms
äEvent-driven
environments
äCo-routines
äThreads