Advertisement

Multi-Threaded Programming in C++

  • Authors
  • Mark Walmsley

Table of contents

  1. Front Matter
    Pages i-x
  2. Mark Walmsley
    Pages 1-8
  3. Mark Walmsley
    Pages 9-24
  4. Mark Walmsley
    Pages 25-46
  5. Mark Walmsley
    Pages 47-67
  6. Mark Walmsley
    Pages 69-99
  7. Mark Walmsley
    Pages 101-117
  8. Mark Walmsley
    Pages 119-133
  9. Mark Walmsley
    Pages 135-159
  10. Mark Walmsley
    Pages 161-184
  11. Mark Walmsley
    Pages 185-213
  12. Back Matter
    Pages 215-223

About this book

Introduction

This is a book about multi-threaded programming - it could well be subtitled 'How to write computer programs tllat do lots of different tlrings all at once'. A multi-threaded application contains many separate tlrreads of execution all running concurrently and each assigned to its own particular task - the individual tasks are typically simple but the combination can be very powerful. Multi-threading therefore engenders a 'divide-and-conquer' strategy which allows complex monoliths to be broken up into more manageable chunks. Indeed multi-threading is perhaps the most exciting addition to the software engineer's toolkit since tlle advent of object-oriented programming, another topic about which tlris book has a lot to say. Multi-threading and object orientation are wonderful companions - e++ allows tlle basic building blocks for multi-threaded programming to be neatly packaged as objects whilst multi-threading techniques can be applied to transform objects from passive repositories of functionality into active entities that perform their own internal processing independently of external code. A general background in computing is assumed as well as familiarity with the C language and a basic knowledge of C++ would also be helpful - the more useful facets of the C++ language are introduced on a 'need-to-know' basis but for a fuller exposition than is possible here the reader is advised to rush out and buy the book 'Programming in C++' (ISBN 0859344355).

Keywords

C++ programming language PostScript Scheduling UNIX Windows complexity computer distributed computing operating system programming storage

Bibliographic information