Go to main content

Developer's Guide for Migrating to Oracle Solaris 11

Exit Print View

Updated: April 2020
 
 

Threading Models in Oracle Solaris and RHEL

On RHEL, two 1:1 threading implementations are provided by the GNU C library (glibc). Each thread maps to a kernel scheduling entity.

The two threading implementations are as follows:

  • LinuxThreads – The original Pthreads implementation. Since glibc 2.4, this implementation is no longer supported.

  • Native POSIX Threads Library (NPTL) – The latest Pthreads implementation.

Oracle Solaris uses the 1:1 thread model in preference to the MxN implementation. Simplifying the underlying thread implementation for existing applications improves performance and stability without requiring recompilation.

Oracle Solaris supports both Pthreads and Oracle Solaris threads. You can use the Pthread model for new application development and porting efforts. Over 100 standards POSIX functions are available through the Pthreads API. For more information, see the pthreads(5) man page and Multithreaded Programming Guide.

To maximize performance, you can modify applications to execute many tasks simultaneously. Oracle Solaris provides support for concurrent processing such as multiple threads, shared memory, and asynchronous I/O. Multithreaded application programs aim to improve parallelism, and can be written without regard to the number of CPUs configured on the target system.

For more information about the threading models, see Red Hat Enterprise Linux to Oracle Solaris Porting Guide.