PThread / POSIX Thread

  • synchronization
  • threads
  • barrier point
  • pthread_init()
  • sem_init()
  • pthread_barrier_init

“For real applications there are more polished libraries such as pthreads for kernel threads or GNU Portable Threads (Pth) for user space threads.”

“The GNU Pth (GNU Portable Threads) scheduling itself is done in a cooperative way, i.e., the threads are managed by a priority- and event-based non-preemptive scheduler. The intention is that this way one can achieve better portability and run-time performance than with preemptive scheduling. The event facility allows threads to wait until various types of events occur, including pending I/O on filedescriptors, asynchronous signals, elapsed timers, pending I/O on message ports, thread and process termination, and even customized callback functions.”

Oracle Multithreaded Programming Guide
POSIX Threads Programming
POSIX thread (pthread) libraries
POSIX thread (pthread) libraries
Linux-UNIX-Programmierung – Threads
Parallele Programmierung mit Threads
Introduction to Multi-Threaded Programming, 1999
Eine Einführung in die Programmierung von Threads unter Linux
Implementing a Thread Library on Linux
GNU Pth – The GNU Portable Threads, 2006
Linux Threads Frequently Asked Questions (FAQ), 1996

Joinable and Detached Threads

Oracle Multithreaded Programming Guide: Set Detach State
Joining and Detaching Threads
Joinable and Detached Threads
Pthread create as detached

Thread (computing)
Light-weight process
Fiber (computer science)
Green threads
Thread (Informatik)
Native POSIX Thread Library (NPTL)

Alle Fäden in der Hand – Thread Programmierung unter Linux in C und C++ (Teil 1)
Alle Fäden in der Hand – Thread Programmierung unter Linux in C und C++ (Teil 2)

The Linux compatibility thread!

Thread-Programmierung mit Java

Oracle Multithreaded Programming Guide – Avoiding Deadlock

Map / Reduce

The one line of C code that will make your program ten times faster



The Little Book of Semaphores


Wikipedia: Monitor

Leave a Reply

Your email address will not be published. Required fields are marked *