Chapter 1: Introduction to Concurrent Programming and Components

 < Day Day Up > 



1.1 Introduction

This chapter introduces the topics of the book, particularly concurrency and components. Because the concept of concurrency, particularly as it applies to programming, is so poorly understood by novice programmers, this chapter begins by giving a working definition of concurrent programming. This definition abandons the largely useless definition of concurrency as two programs running at the same time, replacing it with a definition that deals with how concurrency affects the implementation of a solution to the problem.

Once the definition of concurrent programming has been given, special purpose objects called concurrent components are introduced. These objects are the most interesting objects in concurrent programming because they are the ones that coordinate the activities in a concurrent program. Without concurrent components a concurrent program is simply a set of unrelated activities. It is the components that allow these activities to work together to solve a problem. Components are also the most difficult objects to write. This is because the activities (or active objects) correspond closely to normal procedural programs, but components require a change in the way that most programmers think about programs. It is also in components that the problems specific to concurrent programming, such as race conditions and deadlock, are found and dealt with. The rest of the book is about how to implement concurrent programs using these concurrent components.

Finally, this chapter explains the different types of concurrent programs and how these programs result in various types of programs. Part of understanding concurrent programming is realizing that there is more than one reason to do concurrent programming. An important aspect of any program is that it should solve a problem. Concurrency improves the solution to many different types of problems. Each of these problem types looks at the problem to be solved in a slightly different manner and thus requires the programmer to approach the problem in a slightly different way.



 < Day Day Up > 



Creating Components. Object Oriented, Concurrent, and Distributed Computing in Java
The .NET Developers Guide to Directory Services Programming
ISBN: 849314992
EAN: 2147483647
Year: 2003
Pages: 162

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net