Book description
Illustrating the effect of concurrency on programs written in familiar languages, this text focuses on novel language abstractions that truly bring concurrency into the language and aid analysis and compilation tools in generating efficient, correct programs. It also explains the complexity involved in taking advantage of concurrency with regard to program correctness and performance. The book describes the historical development of current programming languages and the common threads that exist among them. It also contains several chapters on design patterns for parallel programming and includes quick reference guides to OpenMP, Erlang, and Cilk. Ancillary materials are available on the book's website.
Table of contents
- Cover
- Title
- Copyright
- Contents (1/2)
- Contents (2/2)
- List of Figures
- Chapter 1: Introduction (1/4)
- Chapter 1: Introduction (2/4)
- Chapter 1: Introduction (3/4)
- Chapter 1: Introduction (4/4)
- Chapter 2: Concepts in Concurrency (1/6)
- Chapter 2: Concepts in Concurrency (2/6)
- Chapter 2: Concepts in Concurrency (3/6)
- Chapter 2: Concepts in Concurrency (4/6)
- Chapter 2: Concepts in Concurrency (5/6)
- Chapter 2: Concepts in Concurrency (6/6)
- Chapter 3: Concurrency Control (1/5)
- Chapter 3: Concurrency Control (2/5)
- Chapter 3: Concurrency Control (3/5)
- Chapter 3: Concurrency Control (4/5)
- Chapter 3: Concurrency Control (5/5)
- Chapter 4: The State of the Art (1/4)
- Chapter 4: The State of the Art (2/4)
- Chapter 4: The State of the Art (3/4)
- Chapter 4: The State of the Art (4/4)
- Chapter 5: High-Level Language Constructs (1/5)
- Chapter 5: High-Level Language Constructs (2/5)
- Chapter 5: High-Level Language Constructs (3/5)
- Chapter 5: High-Level Language Constructs (4/5)
- Chapter 5: High-Level Language Constructs (5/5)
- Chapter 6: Historical Context and Evolution of Languages (1/8)
- Chapter 6: Historical Context and Evolution of Languages (2/8)
- Chapter 6: Historical Context and Evolution of Languages (3/8)
- Chapter 6: Historical Context and Evolution of Languages (4/8)
- Chapter 6: Historical Context and Evolution of Languages (5/8)
- Chapter 6: Historical Context and Evolution of Languages (6/8)
- Chapter 6: Historical Context and Evolution of Languages (7/8)
- Chapter 6: Historical Context and Evolution of Languages (8/8)
- Chapter 7: Modern Languages and Concurrency Constructs (1/6)
- Chapter 7: Modern Languages and Concurrency Constructs (2/6)
- Chapter 7: Modern Languages and Concurrency Constructs (3/6)
- Chapter 7: Modern Languages and Concurrency Constructs (4/6)
- Chapter 7: Modern Languages and Concurrency Constructs (5/6)
- Chapter 7: Modern Languages and Concurrency Constructs (6/6)
- Chapter 8: Performance Considerations and Modern Systems (1/5)
- Chapter 8: Performance Considerations and Modern Systems (2/5)
- Chapter 8: Performance Considerations and Modern Systems (3/5)
- Chapter 8: Performance Considerations and Modern Systems (4/5)
- Chapter 8: Performance Considerations and Modern Systems (5/5)
- Chapter 9: Introduction to Parallel Algorithms (1/2)
- Chapter 9: Introduction to Parallel Algorithms (2/2)
- Chapter 10: Pattern: Task Parallelism (1/6)
- Chapter 10: Pattern: Task Parallelism (2/6)
- Chapter 10: Pattern: Task Parallelism (3/6)
- Chapter 10: Pattern: Task Parallelism (4/6)
- Chapter 10: Pattern: Task Parallelism (5/6)
- Chapter 10: Pattern: Task Parallelism (6/6)
- Chapter 11: Pattern: Data Parallelism (1/3)
- Chapter 11: Pattern: Data Parallelism (2/3)
- Chapter 11: Pattern: Data Parallelism (3/3)
- Chapter 12: Pattern: Recursive Algorithms (1/4)
- Chapter 12: Pattern: Recursive Algorithms (2/4)
- Chapter 12: Pattern: Recursive Algorithms (3/4)
- Chapter 12: Pattern: Recursive Algorithms (4/4)
- Chapter 13: Pattern: Pipelined Algorithms (1/4)
- Chapter 13: Pattern: Pipelined Algorithms (2/4)
- Chapter 13: Pattern: Pipelined Algorithms (3/4)
- Chapter 13: Pattern: Pipelined Algorithms (4/4)
- Appendix A: OpenMP Quick Reference (1/4)
- Appendix A: OpenMP Quick Reference (2/4)
- Appendix A: OpenMP Quick Reference (3/4)
- Appendix A: OpenMP Quick Reference (4/4)
- Appendix B: Erlang Quick Reference (1/2)
- Appendix B: Erlang Quick Reference (2/2)
- Appendix C: Cilk Quick Reference (1/2)
- Appendix C: Cilk Quick Reference (2/2)
- References (1/2)
- References (2/2)
- Index (1/2)
- Index (2/2)
Product information
- Title: Introduction to Concurrency in Programming Languages
- Author(s):
- Release date: September 2009
- Publisher(s): Chapman and Hall/CRC
- ISBN: 9781420072143
You might also like
book
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up …
book
Deciphering Data Architectures
Data fabric, data lakehouse, and data mesh have recently appeared as viable alternatives to the modern …
book
Righting Software
Right Your Software and Transform Your Career Righting Software presents the proven, structured, and highly engineered …
book
Patterns of Distributed Systems
Learn How to Better Understand Distributed System Design and Solve Common Problems Enterprises today rely on …