Understanding Control Flow

Concurrent Programming Using μC++

  • Peter A. Buhr

Table of contents

  1. Front Matter
    Pages i-xxi
  2. Peter A. Buhr
    Pages 1-7
  3. Peter A. Buhr
    Pages 9-59
  4. Peter A. Buhr
    Pages 61-124
  5. Peter A. Buhr
    Pages 125-190
  6. Peter A. Buhr
    Pages 191-232
  7. Peter A. Buhr
    Pages 233-311
  8. Peter A. Buhr
    Pages 313-394
  9. Peter A. Buhr
    Pages 395-423
  10. Peter A. Buhr
    Pages 425-522
  11. Peter A. Buhr
    Pages 523-561
  12. Peter A. Buhr
    Pages 563-613
  13. Peter A. Buhr
    Pages 615-635
  14. Peter A. Buhr
    Pages 637-726
  15. Peter A. Buhr
    Pages 727-729
  16. Back Matter
    Pages 731-741

About this book


The control-flow issues presented in this textbook are extremely relevant in modern computer languages and programming styles. In addition to the basic control-flow mechanisms, virtually all new computer languages provide some form of exceptional control flow to support robust programming introduced in this textbook.  Also, concurrency capabilities are appearing with increasing frequency in both new and old programming languages, and are covered in this book.

Understanding Control Flow: With Concurrent Programming Using μC++ starts with looping, and works through each of the basic control-flow concepts, examining why each is fundamental and where it is useful. Time is spent on each concept according to its level of difficulty. Examples and exercises are also provided in this textbook.

New programming methodologies are requiring new forms of control flow, and new programming languages are supporting these methodologies with new control structures, such as the concurrency constructs discussed in this textbook. Most computers now contain multi-threading and multi-cores, while multiple processors and distributed systems are ubiquitous — all of which require advanced programming methodologies to take full advantage of the available parallelism summarized in this textbook.  Advance forms of control flow are becoming basic programming skills needed by all programmers, not just graduate students working in the operating systems or database disciplines.

This textbook is designed for advanced-level students studying computer science and engineering. Professionals and researchers working in this field, specifically programming and software engineering, will find this book useful as a reference. 


C++ Control Flow Concurrency Coroutines Exceptions Parallelism Control flow Concurrent programming Programming languages Advanced control flow Atomicity Active objects Enhancing concurrency Optimization and control flow paradigms

Authors and affiliations

  • Peter A. Buhr
    • 1
  1. 1.Cheriton School of Computer ScienceUniversity of WaterlooWaterlooCanada

Bibliographic information

  • DOI
  • Copyright Information Springer International Publishing Switzerland 2016
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science
  • Print ISBN 978-3-319-25701-3
  • Online ISBN 978-3-319-25703-7
  • Buy this book on publisher's site