Because pthreads or UI threads are implemented on top of NKS threads on NetWare®, NKS threads can do everything that pthreads or UI threads can do, but they also have a few additional features:
With pthreads and UI threads, you can create joinable and detached threads. With NKS threads, you can also create daemon and anonymous threads. For more information, see Section 52.1, Thread Types.
With pthreads and UI threads, the thread's state or context (which includes its attributes and data) is inseparable from the thread. With NKS threads, the thread context is created separately from the thread, but must be bound to a thread for execution to occur. For more information, see Section 52.2, Thread Context.
With pthreads and UI threads, you create thread-specific data with keys. With NKS threads, such data is also created with keys. However, data is kept with the thread context, so it is called context-specific data (CSD). For more information, see Section 52.3, Context-Specific Data.
UI threads do not support any specific synchronization primitives. Pthreads and NKS threads support condition variables, semaphores, reader-writer locks, and mutexes. For more information, see Section IX, Synchronization Services.
For a description of the functions supported in the NKS thread interface, see Section 49.4, Overview of the Thread Interfaces.