{logo}

May 2002
Volume 20 Number 5

MULTITHREADING

The Boost.Threads Library

Bill Kempf
Standard C++ threads are imminent. CUJ predicts they will derive from the Boost.Threads library, explored here by the eminent author.

A Per-Thread Singleton Class

Puneesh Chaudhry
A refreshing look at an old pattern.

Refactoring Global Objects in Multithreaded Applications

Patrick Tennberg
Although you may get fired for introducing any new global variables, it's too much work to rewrite old code to remove them. So make them thread-safe and stop worrying.

C/C++ TIPS

C/C++ Tip #8: Performing Multiple Read/Write Locks

Tomer Abramson
How to make multiple locks an atomic operation in Win32.

FEATURES

Programming in GNOME with C++

Paulo Pinto
A C++ binding for GNOME makes Linux GUIs easy work.

C/C++ CONTRIBUTING EDITORS

The New C: bool, Advice to C and C++ Programmers

Randy Meyers
True or False: The type bool behaves identically in C99 and C++. True or False: Your C89 bool hackery will survive unscathed under C99. Read and find out.

Sutter’s Mill: Toward a Standard C++0x Library, Part 2: Namespaces and Library Versioning

Herb Sutter
The migrating habits of the Standard C++ library: a work in progress.

Uncaught Exceptions: Don’t Read This Title!

Bobby Schmidt
Don’t read this blurb! Read this column instead. It’s about lifetime, exceptions, and other anomalies. Incredilorious!

DEPARTMENTS

Editor’s Forum

New Products

We Have Mail

C++ EXPERTS ON THE WEB

In this web-only component of CUJ, we publish columns by experts involved in the development, standardization, and deployment of C++. The following articles are featured on the CUJ website this month:

“Conversations: Making a Real Hash of Things”

by Jim Hyslop and Herb Sutter
This month, Bob gets an up-close and personal look at tree-based versus hash-based containers.

“Object Interconnections: Real-time CORBA, Part 4: Protocol Selection and Explicit Binding”

by Douglas C. Schmidt and Steve Vinoski
Strict control over the association of operations, threads, and networking resources is essential for many DRE applications. This column explores Real-time CORBA features that allow DRE applications to select protocol properties and to explicitly bind clients to server objects using pre-allocated connections, priority bands, and private connections.

“The (B)Leading Edge: Musings on the IndexedFile Design”

by Jack W. Reeves
This month Jack continues to work on the IndexedFile class, but steps back from the actual code to look at a number of design issues: high-level, mid-level, and low-level. In the end, he pulls out one of his favorite soapboxes and pontificates (briefly) about the art of software design.