Boost is an incredibly powerful collection of portable class
libraries for C++. There are classes for such tasks as date/time
manipulation, filesystem interfaces, networking, numerical
programming, interprocess communication and much more. The Boost
documentation is substantial, but can still be daunting to new
users. So this article is the first of a series on using Boost,
starting with basic threading. It aims to provide an accessible
introduction, with complete working examples. First, this
article assumes you know about general threading concepts and
the basics of how to use them on your platform. (For a
refresher, see the Wikipedia article on Threads).) Here I focus
specifically on how to use Boost threads in a practical setting,
starting from the basics. I also assume you have Boost installed
and ready to use (see the Boost Getting Started Guide for
details). This article looks specifically at the different ways
to create threads. There are many other techniques necessary for
real multi-threaded systems