Sun Studio 12: Thread Analyzer User's Guide


The Thread Analyzer User's Guide provides an introduction to the Thread Analyzer tool along with two detailed tutorials. One tutorial focuses on deadlock detection and the other focuses on data-race detection. The manual also includes an FAQ and an appendix of supported APIs.

Typographic Conventions

The following table describes the typographic conventions that are used in this book.

Table P–1 Typographic Conventions





The names of commands, files, and directories, and onscreen computer output 

Edit your .login file.

Use ls -a to list all files.

machine_name% you have mail.


What you type, contrasted with onscreen computer output 

machine_name% su



Placeholder: replace with a real name or value 

The command to remove a file is rm filename.


Book titles, new terms, and terms to be emphasized 

Read Chapter 6 in the User's Guide.

A cache is a copy that is stored locally.

Do not save the file.

Note: Some emphasized items appear bold online.

Shell Prompts in Command Examples

The following table shows the default UNIX® system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.

Table P–2 Shell Prompts



C shell 


C shell for superuser 


Bourne shell and Korn shell 


Bourne shell and Korn shell for superuser 


Supported Platforms

This Sun Studio release supports systems that use the SPARC® and x86 families of processor architectures: UltraSPARC®, SPARC64, AMD64, Pentium, and Xeon EM64T. The supported systems for the version of the Solaris Operating System you are running are available in the hardware compatibility lists at These documents cite any implementation differences between the platform types.

In this document, these x86 related terms mean the following:

For supported systems, see the hardware compatibility lists.

Accessing Sun Studio Documentation

You can access the documentation at the following locations:

The web site enables you to read, print, and buy Sun Microsystems manuals through the Internet. If you cannot find a manual, see the documentation index that is installed with the software on your local system or network.

Note –

Sun is not responsible for the availability of third-party Web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused by or in connection with the use of or reliance on any such content, goods, or services that are available on or through such sites or resources.

Documentation in Accessible Formats

The documentation is provided in accessible formats that are readable by assistive technologies for users with disabilities. You can find accessible versions of documentation as described in the following table. If your software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.

Type of Documentation 

Format and Location of Accessible Version  

Manuals (except third-party manuals) 


Third-party manuals: 

  • Standard C++ Library Class Reference

  • Standard C++ Library User’s Guide

  • Tools.h++ Class Library Reference

  • Tools.h++ User’s Guide

HTML in the installed software on Solaris platforms through the documentation index at file:/opt/SUNWspro/docs/index.html


HTML on the Sun Developer Network portal at

Man pages 

HTML in the installed software through the documentation index at file:/opt/SUNWspro/docs/index.html on Solaris platforms, and at file:/opt/sun/sunstudio12/docs/index.html on Linux platforms,

Online help 

HTML available through the Help menu and Help buttons in the IDE 

Release notes 


Related Sun Studio Documentation

The following table describes related documentation that is available at file:/opt/SUNWspro/docs/index.html and If your software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.

Document Title 


Performance Analyzer

Provides instructions for using the Performance Analyzer software to diagnose and tune software. 

C User's Guide

Provides a reference of all compiler options, descriptions of supported ISO/IEC 9899:1999 (referred to as C99) features, implementation specifics such as pragmas and declaration specifiers, and complete information for using the lint code-checking program.

C++ User's Guide

Describes how to use the C++ compiler and provides detailed information on command-line compiler options, program organization, pragmas, templates, exception handing, using the cast operators, and using and building libraries. 

Fortran Programming Guide

Describes how to write effective Fortran programs on Solaris environments; input/output, libraries, performance, debugging, and parallelization. 

Fortran Library Reference

Details the Fortran library and intrinsics. 

OpenMP API User’s Guide

Summary of the OpenMP multiprocessing API, with specifics about the implementation. 

Numerical Computation Guide

Describes issues regarding the numerical accuracy of floating-point computations. 

Accessing Related Solaris Documentation

The following table describes related documentation that is available through the web site.

Document Collection 

Document Title 


Solaris Reference Manual Collection 

See the titles of man page sections. 

Provides information about the Solaris OS. 

Solaris Software Developer Collection 

Linker and Libraries Guide

Describes the operations of the Solaris link-editor and runtime linker. 

Solaris Software Developer Collection 

Multithreaded Programming Guide

Covers the POSIX and Solaris threads APIs, programming with synchronization objects, compiling multithreaded programs, and finding tools for multithreaded programs. 

Resources for Developers

Visit the Sun Developer Network Sun Studio portal at to find these frequently updated resources:

The Sun Studio portal is one of a number of additional resources for developers at the Sun Developer Network website,

Contacting Sun Technical Support

If you have technical questions about this product that are not answered in this document, go to:

Sending Your Comments

Sun is interested in improving its documentation and welcomes your comments and suggestions. Submit your comments to Sun at this URL:

Please include the part number of the document in the subject line of your email. For example, the part number for this document is 820-0619.