Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Internationalization Module User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

11.2 Working in a Multithreaded Environment

Increasingly, developers use multithreading techniques to improve the throughput and responsiveness of their applications. In exchange for these performance gains, developers must assume responsibility for ensuring the integrity of shared resources, such as shared data. To do this, it is important to know the multithread capabilities of underlying libraries, and to use appropriate concurrency controls.

With care, you can use the classes of the Internationalization Module in multithreaded applications. For example, the conversion context stacks maintained by RWUToUnicodeConversionContext, RWUFromUnicodeConversionContext, and RWUConversionContext exist on a per-thread basis. Creating a conversion context in one thread pushes the context on that thread's context stack, and does not affect the context stacks of other threads.

The classes of the Internationalization Module, however, are not re-entrant. They do not use concurrency controls, such as mutexes, to protect their internal data. This minimizes the overhead of using an object within a single thread, but also means that an unprotected object cannot be shared safely between threads. Instead, you can:



Previous fileTop of DocumentContentsNo linkNext file

Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo, and SourcePro, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.