Function Comparison Table
The following table compares
Oracle Solaris threads functions with
pthreads functions. Note that even when
Oracle Solaris threads and pthreads functions
appear to be essentially the same, the arguments to the functions can differ.
When a comparable interface is not available either in pthreads or
Oracle Solaris
threads, a hyphen `-' appears in the column. Entries in the pthreads column
that are followed by (3RT) are functions in librt, the
POSIX.1b Realtime Extensions library, which is not part of pthreads. Functions
in this library provide most of the interfaces specified by the POSIX.1b
Realtime Extension.
Table 6-2 Oracle Solaris Threads
and POSIX pthreads Comparison
| |
thr_create()
| pthread_create()
|
thr_exit()
| pthread_exit()
|
thr_join()
| pthread_join()
|
thr_yield()
| sched_yield()(3RT)
|
thr_self()
| pthread_self()
|
thr_kill()
| pthread_kill()
|
thr_sigsetmask()
| pthread_sigmask()
|
thr_setprio()
| pthread_setschedparam()
|
thr_getprio()
| pthread_getschedparam()
|
thr_setconcurrency()
| pthread_setconcurrency()
|
thr_getconcurrency()
| pthread_getconcurrency()
|
thr_suspend()
| -
|
thr_continue()
| -
|
thr_keycreate()
| pthread_key_create()
|
-
| pthread_key_delete()
|
thr_setspecific()
| pthread_setspecific()
|
thr_getspecific()
| pthread_getspecific()
|
-
| pthread_once()
|
-
| pthread_equal()
|
-
| pthread_cancel()
|
-
| pthread_testcancel()
|
-
| pthread_cleanup_push()
|
-
| pthread_cleanup_pop()
|
-
| pthread_setcanceltype()
|
-
| pthread_setcancelstate()
|
mutex_lock()
| pthread_mutex_lock()
|
mutex_unlock()
| pthread_mutex_unlock()
|
mutex_trylock()
| pthread_mutex_trylock()
|
mutex_init()
| pthread_mutex_init()
|
mutex_destroy()
| pthread_mutex_destroy()
|
cond_wait()
| pthread_cond_wait()
|
cond_timedwait()
| pthread_cond_timedwait()
|
cond_reltimedwait()
| pthread_cond_reltimedwait_np()
|
cond_signal()
| pthread_cond_signal()
|
cond_broadcast()
| pthread_cond_broadcast()
|
cond_init()
| pthread_cond_init()
|
cond_destroy()
| pthread_cond_destroy()
|
rwlock_init()
| pthread_rwlock_init()
|
rwlock_destroy()
| pthread_rwlock_destroy()
|
rw_rdlock()
| pthread_rwlock_rdlock()
|
rw_wrlock()
| pthread_rwlock_wrlock()
|
rw_unlock()
| pthread_rwlock_unlock()
|
rw_tryrdlock()
| pthread_rwlock_tryrdlock()
|
rw_trywrlock()
| pthread_rwlock_trywrlock()
|
-
| pthread_rwlockattr_init()
|
-
| pthread_rwlockattr_destroy()
|
-
| pthread_rwlockattr_getpshared()
|
-
| pthread_rwlockattr_setpshared()
|
sema_init()
| sem_init()(3RT)
|
sema_destroy()
| sem_destroy()(3RT)
|
sema_wait()
| sem_wait()(3RT)
|
sema_post()
| sem_post()(3RT)
|
sema_trywait()
| sem_trywait()(3RT)
|
fork1()
| fork()
|
-
| pthread_atfork()
|
forkall(), multiple thread copy
| -
|
-
| pthread_mutexattr_init()
|
-
| pthread_mutexattr_destroy()
|
type argument in mutex_init()
| pthread_mutexattr_setpshared()
|
-
| pthread_mutexattr_getpshared()
|
-
| pthread_mutex_attr_settype()
|
-
| pthread_mutex_attr_gettype()
|
-
| pthread_condattr_init()
|
-
| pthread_condattr_destroy()
|
type argument in cond_init()
| pthread_condattr_setpshared()
|
-
| pthread_condattr_getpshared()
|
-
| pthread_attr_init()
|
-
| pthread_attr_destroy()
|
THR_BOUND flag in thr_create()
| pthread_attr_setscope()
|
-
| pthread_attr_getscope()
|
-
| pthread_attr_setguardsize()
|
-
| pthread_attr_getguardsize()
|
stack_size argument in thr_create()
| pthread_attr_setstacksize()
|
-
| pthread_attr_getstacksize()
|
stack_addr argument in thr_create()
| pthread_attr_setstack()
|
-
| pthread_attr_getstack()
|
THR_DETACH flag in thr_create()
| pthread_attr_setdetachstate()
|
-
| pthread_attr_getdetachstate()
|
-
| pthread_attr_setschedparam()
|
-
| pthread_attr_getschedparam()
|
-
| pthread_attr_setinheritsched()
|
-
| pthread_attr_getinheritsched()
|
-
| pthread_attr_setsschedpolicy()
|
-
| pthread_attr_getschedpolicy()
|
|
To use the Oracle
Solaris threads functions described in this chapter for Solaris
9 and previous releases, you must link with the
Oracle Solaris threads
library –lthread .
Operation is virtually the same for both
Oracle Solaris threads
and for pthreads, even though the function names or arguments might differ.
Only a brief example consisting of the correct include file and the function
prototype is presented. Where return values are not given for the
Oracle Solaris threads
functions, see the appropriate pages in man pages section 3: Basic Library Functions
for
the function return values.
For more information on
Oracle Solaris related functions, see the
related pthreads documentation for the similarly named function.
Where Oracle
Solaris threads functions offer capabilities that are not available
in pthreads, a full description of the functions is provided.