© Thomas Kunz 2000
SCE 574
183
   Concurrency
ä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