Note: All information in this page is out-of-date. Modern operating systems have multi-threading function so PTL is no longer useful.
||PTL - Portable Thread Library
English / Japanese
- Dec/13/2002 NetBSD pkgsrc for PTL-2.1.9 is available
- Dec/04/2002 PTL-2.1.9 is released
- Nov/27/2002 PTL-2.1.9rc2 (release candidate 2) is available
- Nov/26/2002 PTL-2.1.9rc1 (release candidate 1) is available
- Mar/02/2001 PTL-2.1.8 is released
PTL is an implementation of a user level multi-thread
library runs on UNIXes. With PTL, you can create and control multiple
threads (control flow) in a single UNIX process.
For example, PTL can be used for following purposes.
- Run programs using POSIX threads (Pthreads),
- Network server/client programs,
- Concurrent processing,
- Simulating distributed or parallel algorithms,
- Study of multi threaded programming.
Current version of PTL is based on POSIX 1003.1c API and is
called PTL2 . Old one based on POSIX 1003.4a/Draft6 is
- Provides almost all POSIX 1003.1c (Pthreads) APIs.
- Works on most BSD UNIXes; No CPU dependency.
- On SYSV UNIX, PTL may work on i386, SPARC, m68k, mips, alpha boxes if you have gcc.
- Easy to install (./configure and make)
- Fast (maybe)
- Provides preemption
- On I/O operations such as network, terminal, pipe, SYSV
message queue and SYSV semaphore, only the calling thread
blocks and other threads can continue its execution.
- Provides a simple debugger called PDB, which resides in the process,
to help you to examine the threads status.
If you like talking in POSIX way, the following preprocessor
symbols are defined.
(not well tested and maybe buggy)
And the following are not.
On NetBSD and FreeBSD, PTL can be installed using their package
To install PTL manually, please follow the instruction (INSTALL) in the PTL distribution.
Note that PTL does not work on recent glibc based systems such as
Redhat Linux. Glibc contains their own pthread APIs and PTL
conflicts with them.
PTL is confirmed to work on the following operating systems.Please report to me if
PTL works on machines not listed here.
|Solaris2.5.1 (SPARC, x86)
|Redhat Linux 5.2 (x86)
|HP-UX A.09.07 (PA-RISC)
||use /bin/cc (setenv CCOPTS -Ae)
I would like to thank the following people who have contributed
to PTL (alphabetical order)
- Yasufumi Itoh
- Yoshio Iwai
- Youki Kadobayashi
- Toshio Matsuura
- Hiroshi Saitoh
- Masanobu Saitoh
- Noriyuki Soda
- Shigeya Senda
- Hiroki Tatsumoto
Keywords for search engines: PTL, Portable Thread
Library, pthreads, multi-threading, POSIX, 1003.1, 1003.1c,