<HTML>
<HEAD>
   <TITLE>Linux Threads Home Page: Are there threading libraries? Where?</TITLE>
</HEAD>
<BODY BACKGROUND="GraySea.gif">

<P><FONT SIZE=+3>Are there threading libraries? Where?</FONT></P>

<UL>
<P>Yes, there are several. Here are a several URLs with their individual
detail. Please note that I have emailed the authors (if known) to get more
information about their libraries.</P>
</UL>

<CENTER><P><FONT SIZE=+3>Linux Threads Packages</FONT></P></CENTER>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="Bare_Bones"></A><FONT SIZE=+2>Bare-Bones Threads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:neufeld@physics.utoronto.ca">Christopher Neufeld [neufeld@physics.utoronto.ca]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD>Documentation [] 
<P><A HREF="ftp://caliban.physics.utoronto.ca/pub/linux/bb_threads.tar.gz">Source
[ftp://caliban.physics.utoronto.ca/pub/linux/bb_threads.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>Non-standard</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>This is a very basic, bare-bones threading package which has been tested
on both single-CPU and SMP Linux boxes. Clone()-based &amp; includes demo
program.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>None</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active development. Version 0.3</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="CLthreads"></A><FONT SIZE=+2>CLthreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:kra@fsid.cvut.cz">Pavel Krauz [kra@fsid.cvut.cz]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD>Documentation [] 
<P><A HREF="ftp://lin.fsid.cvut.cz/pub/linux/clthreads/clthreads-0.1.1.tgz">Source
[ftp://lin.fsid.cvut.cz/pub/linux/clthreads/clthreads-0.1.1.tgz]</A></P>

<P><A HREF="ftp://lin.fsid.cvut.cz/pub/linux/clthreads/clthreads-0.1.1.bin.tgz">Binary
[ftp://lin.fsid.cvut.cz/pub/linux/clthreads/clthreads-0.1.1.bin.tgz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>POSIX 1003.1c</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>clone()-based pthreads library, includes partial libc, POSIX 1003.1b
support, example programs. </TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>LGPL</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active maintenance. Version 0.1.1</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="DCEthreads"></A><FONT SIZE=+2>DCEthreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:mtp@big.aa.net">Michael T. Peterson [mtp@big.aa.net]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="http://www.aa.net/~mtp/PCthreads.html">Documentation [http://www.aa.net/~mtp/PCthreads.html]</A>

<P><A HREF="ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/dcethreads-1.0.tar.gz">Source
[ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/dcethreads-1.0.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>POSIX 1003.4c Draft 4 (?)</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>PCthreads (tm) is a multithreading library for Linux-based Intel systems
and is based on the POSIX 1003.1c standard. The kit contains the sources
for the library (libpthreads), a build environment for building both ELF
and A.OUT versions of the library, and a complete set of man pages for
all POSIX .1c functions.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>GPL(? Source is included)</TD>
</TR>

<TR>
<TD>Status:</TD>

<TD>??? Version 1.0</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="FSU_Pthreads"></A><FONT SIZE=+2>FSU Pthreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:mueller@informatik.hu-berlin.de">Frank Mueller [mueller@informatik.hu-berlin.de]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="http://www.cs.fsu.edu/~mueller/projects.html">Project Documentation
[http://www.cs.fsu.edu/~mueller/projects.html]</A> 
<P><A HREF="file://ftp.cs.fsu.edu/pub/PART/publications/pthreads_interface.ps.gz">Interface
Documentation [file://ftp.cs.fsu.edu/pub/PART/publications/pthreads_interface.ps.gz]</A></P>

<P><A HREF="http://www.informatik.hu-berlin.de/~mueller/projects.html">Project
Documentation mirror [http://www.informatik.hu-berlin.de/~mueller/projects.html]</A></P>

<P><A HREF="http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads_interface.ps.Z">Interface
Documentation mirror [http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads_interface.ps.Z]</A></P>

<P><A HREF="ftp://ftp.cs.fsu.edu/pub/PART/PTHREADS/pthreads.tar.gz">Source
[ftp://ftp.cs.fsu.edu/pub/PART/PTHREADS/pthreads.tar.gz]</A></P>

<P><A HREF="http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads.tar.gz">Source
mirror [http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads.tar.gz]</A>
</P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>POSIX 1003.4a Draft 6 + Draft 10 extensions</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>Pthreads is a C library which implements POSIX threads for SunOS 4.1.x,
Solaris 2.x, SCO UNIX, FreeBSD and Linux. Used for GNU Ada Runtime; partial
libc support. User-space pthreads library; used for GNU Ada Runtime; partial
libc, POSIX 1003.4 support; pthreads documentation.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>LGPL</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active development. Version 2.9</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="JKthread"></A><FONT SIZE=+2>JKthread</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:jeffk@awinc.com">Jeff Koftinoff [jeffk@awinc.com]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="http://turnercom.com/jdk/linux3.html">Documentation [http://turnercom.com/jdk/linux3.html]</A>

<P><A HREF="http://turnercom.com/jdk/jkthread-1.1.tar.gz">Source [http://turnercom.com/jdk/jkthread-1.1.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>Non-standard</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>This is an experiment with the Linux 2.0 clone() call to implement
usable kernel threads in a user program. These jkthreads have an API that
has NOTHING to do with pthreads or Win32 threads or BeBox threads. Includes
C++ wrappers.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>Postcard-ware</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>???? Version 1.0</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="LinuxThreads"></A><FONT SIZE=+2>LinuxThreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:Xavier.Leroy@inria.fr">Xavier Leroy [Xavier.Leroy@inria.fr]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="http://pauillac.inria.fr/~xleroy/linuxthreads/">Documentation
[http://pauillac.inria.fr/~xleroy/linuxthreads/]</A> 
<P><A HREF="ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy/linuxthreads.tar.gz">Source
[ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy/linuxthreads.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>POSIX 1003.1c</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>LinuxThreads is an implementation of the Posix 1003.1c thread package
for Linux. Unlike other implementations of Posix threads, LinuxThreads
provides kernel-space threads: threads are created with the new clone()
system call and all scheduling is done in the kernel. Includes partial
libc support &amp; program examples.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>LGPL</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active development. Version: 0.5</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="LWP"></A><FONT SIZE=+2>LWP</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:jsc@doc.ic.ac.uk">Stephen Crane [jsc@doc.ic.ac.uk]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="ftp://gummo.doc.ic.ac.uk/rex/lwp.ps.gz">Documentation [ftp://gummo.doc.ic.ac.uk/rex/lwp.ps.gz]</A>

<P><A HREF="ftp://gummo.doc.ic.ac.uk/rex/lwp.tar.gz">Source [ftp://gummo.doc.ic.ac.uk/rex/lwp.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>Non-standard</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>A small portable lightweight (user-space) process library for sun3/4,
mips-ultrix, 386BSD, HP-UX and <B>Linux</B>. (Man pages included)</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>LGPL</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active maintenance (a set of C++ wrappers is currently under development).
Version ??</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="NThreads"></A><FONT SIZE=+2>NThreads (Numerical Threads)</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="Thomas.Radke@informatik.tu-chemnitz.de">Thomas Radke [Thomas.Radke@informatik.tu-chemnitz.de]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="ftp://ftp.tu-chemnitz.de/pub/Local/informatik/linux">Documentation
[ftp://ftp.tu-chemnitz.de/pub/Local/informatik/linux]</A> 
<P><A HREF="ftp://ftp.tu-chemnitz.de/pub/Local/informatik/linux/nthreads.tgz">Source
[ftp://ftp.tu-chemnitz.de/pub/Local/informatik/linux/nthreads.tgz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>Non-standard</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>User-space threads package included with patches to Linux kernel to
support kernel threading. (Includes man pages)</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>GPL (? Source is included)</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>???? Version ??</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="PCthreads"></A><FONT SIZE=+2>PCthreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:mtp@big.aa.net">Michael T. Peterson [mtp@big.aa.net]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="http://www.aa.net/~mtp/PCthreads.html">Documentation [http://www.aa.net/~mtp/PCthreads.html]</A>

<P><A HREF="ftp://sunsite.unc.edu:/pub/Linux/devel/lang/c/pthreads-1.0.tar.gz">Source
[ftp://sunsite.unc.edu:/pub/Linux/devel/lang/c/pthreads-1.0.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>POSIX 1003.1c</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>User-space pthreads library; includes non-blocking select(), read(),
and write(). Man pages included. Requires <A HREF="#DCEthreads">DCEThreads</A>.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>LGPL</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>???? Version 1.0</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="Pthreads"></A><FONT SIZE=+2>Provenzano Pthreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:proven@mit.edu">Christopher A. Provenzano [proven@mit.edu]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="http://www.mit.edu:8001/people/proven/pthreads.html">Documentation
[http://www.mit.edu:8001/people/proven/pthreads.html]</A> 
<P><A HREF="ftp://sipb.mit.edu/pub/pthreads">Source [ftp://sipb.mit.edu/pub/pthreads]</A></P>

<P><A HREF="ftp://ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/GCC/libc-5.3.12.tar.gz">Source
[ftp://ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/GCC/libc-5.3.12.tar.gz]</A>
</P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>POSIX 1003.1c subset (lacks thread cancellation)</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>User-space pthreads library with thread-blocking syscalls (read, write,
connect, accept, sleep, wait, etc.) and a thread-safe C library (stdio,
net utilities, etc.) A separate version is distributed with Linux libc
source but may not be built by default.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>BSD style</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active development. Version 1.60b5</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="QuickThreads"></A><FONT SIZE=+2>QuickThreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:pardo@cs.washington.edu">David Keppel [pardo@cs.washington.edu]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="ftp://ftp.cs.washington.edu/tr/1993/05/UW-CSE-93-05-06.PS.Z">Documentation
[ftp://ftp.cs.washington.edu/tr/1993/05/UW-CSE-93-05-06.PS.Z]</A> 
<P><A HREF="ftp://ftp.cs.washington.edu/pub/qt-002.tar.Z">Source [ftp://ftp.cs.washington.edu/pub/qt-002.tar.Z]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>Non-standard</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>A toolkit for building user-space threads packages. Please note that
this is designed to facilitate building threads library packages; therefore,
it omits many higher-level functions. Documentation written in PostScript.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>BSD style</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active maintenance. Version 0.0.2</TD>
</TR>
</TABLE>

<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
<TR>
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>

<TD><A NAME="RexThreads"></A><FONT SIZE=+2>RexThreads</FONT></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Author:</TD>

<TD><A HREF="mailto:jsc@doc.ic.ac.uk">Stephen Crane [jsc@doc.ic.ac.uk]</A></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Repositories:</TD>

<TD><A HREF="ftp://gummo.doc.ic.ac.uk/rex/lwp.ps.gz">Documentation [ftp://gummo.doc.ic.ac.uk/rex/lwp.ps.gz]</A>

<P><A HREF="ftp://gummo.doc.ic.ac.uk/rex/lwp.tar.gz">Source [ftp://gummo.doc.ic.ac.uk/rex/lwp.tar.gz]</A></P>
</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>API:</TD>

<TD>Non-standard</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Description:</TD>

<TD>User-space threads library.</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>License: </TD>

<TD>LGPL</TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Status: </TD>

<TD>Active maintenance (a set of C++ wrappers is currently under development).
Version ??</TD>
</TR>
</TABLE>

<P>
<HR></P>

<P><HR SIZE=4 WIDTH="100%"></P>
<CENTER><TABLE CELLSPACING=0 CELLPADDING=0 >
<TR>
<TD><A HREF="ProgHeuristics.html"><CENTER><IMG SRC="ArrowLeft.gif" ALT="[Left Arrow]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
<TD><A HREF="index.html"><CENTER><IMG SRC="House.gif" ALT="[Home]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
<TD><A HREF="Dictionary.html"><CENTER><IMG SRC="BookSearch.gif" ALT="[Book Search]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
<TD><A HREF="mailto:walton@oclc.org"><CENTER><IMG SRC="MailBox.gif" ALT="[Mailbox]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
<TD><A HREF="OSsCompared.html"><CENTER><IMG SRC="ArrowRight.gif" ALT="[Right Arrow]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
</TR>
<TR>
<TD><A HREF="ProgHeuristics.html">[Previous Page]</A></TD>
<TD><A HREF="index.html">[First Page]</A></TD>
<TD><A HREF="Dictionary.html">[Dictionary]</A></TD>
<TD><A HREF="mailto:walton@oclc.org">[Email Author]</A></TD>
<TD><A HREF="OSsCompared.html">[Next Page]</A></TD>
</TR>
</TABLE></CENTER>

</BODY></HTML>
