官术网_书友最值得收藏!

Concurrency – An Introduction

–What are concurrency and parallelism? Why should we study them? In this chapter, we will look at the many aspects of the concurrent programming world. The chapter starts with a brief overview of parallel programming and why we need it.  We cover ground pretty fast here, touching upon the basic concepts. 

As two major forces, huge data size and fault tolerance drive concurrent programming. As we go through this chapter, some of our examples will touch upon some clustered computing patterns, such as MapReduceApplication scaling is an extremely important concept for today's developer. We will look at how concurrency helps applications scale. Horizontal scaling (https://stackoverflow.com/questions/11707879/difference-between-scaling-horizontally-and-vertically-for-databases) is the magic behind today's massively parallel software systems. 

Concurrency entails communication between the concurrent entities. We will look at two primary concurrency models: message passing and shared memory. We will describe the message passing model using a UNIX shell pipeline. We will then describe the shared memory model and show how explicit synchronization creates so many problems.   

A design pattern is a solution to a design problem in context. Knowledge of the catalog of patterns helps us to come up with a good design for specific problems. This book explains the common concurrency design pattern.   

We will wrap up the chapter by looking at some alternative ways of achieving concurrency, namely the actor paradigm and software transactional memory.  

In this chapter, we will cover the following topics:

  • Concurrency
  • Message passing model  
  • Shared memory and shared state model
  • Of patterns and paradigms
主站蜘蛛池模板: 锦屏县| 南城县| 西平县| 枣强县| 大名县| 读书| 昂仁县| 海原县| 兰考县| 商丘市| 闸北区| 襄汾县| 兴宁市| 仙居县| 甘孜| 漳平市| 垣曲县| 高州市| 偏关县| 宿松县| 六枝特区| 亳州市| 德令哈市| 武城县| 赤水市| 措美县| 尉犁县| 清河县| 安图县| 延津县| 平陆县| 台东县| 云安县| 荆门市| 莒南县| 枝江市| 襄樊市| 宣化县| 吴忠市| 万州区| 团风县|