Skip to main content

Understanding Control Flow

Concurrent Programming Using μC++

  • Textbook
  • © 2016

Overview

  • Explains many forms of control flow in a programming language, and how they interact

  • Presents coroutining and concurrency capabilities covering several approaches and programming patterns within approaches

  • Reviews the reliability requirements of current and future software demands for control flow

  • The first text book with the broadest range of control-flow approaches examined, while using C++

  • Includes assignment questions

  • Includes supplementary material: sn.pub/extras

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (14 chapters)

Keywords

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. 

Authors and Affiliations

  • Cheriton School of Computer Science, University of Waterloo, Waterloo, Canada

    Peter A. Buhr

About the author

Peter Buhr received the BSc Hons/MSc and PhD degrees in computer science from the University of Manitoba in 1976, 1978, 1985, respectively.  He is currently an Associate Professor in the Cheriton School of Computer Science, University of Waterloo, Canada.  His research interests include concurrency, concurrent profiling/debugging, persistence and polymorphism. He is the author of uC++, which extends C++ with high-level concurrency.  Dr. Buhr has been a member of the Association of Computing Machinery since 1977.

Bibliographic Information

Publish with us