| CARVIEW |
|
|
Open
Source
|
Current
release: 2.9.1
(2012-05-27)
See
the ANNOUNCEMENT and NEWS
for details.
Pthreads-w32
release 1.11.0 (2005-06-04) was the last series
1.x.x version!
(Version
1.11.0 is a back-port of the 2.7.0 functionality and bug fixes. See
the NEWS file inside the package for more information.)
What is this project about?
The POSIX 1003.1-2001 standard defines an application programming interface (API) for writing multithreaded applications. This interface is known more commonly as pthreads. A good number of modern operating systems include a threading library of some kind: Solaris (UI) threads, Win32 threads, DCE threads, DECthreads, or any of the draft revisions of the pthreads standard. The trend is that most of these systems are slowly adopting the pthreads standard API, with application developers following suit to reduce porting woes.
Win32 does not, and is unlikely to ever, support pthreads natively. This project seeks to provide a freely available and high-quality solution to this problem.
Various individuals have been working on independent implementations of this well-documented and standardised threading API, but most of them never see the light of day. The tendency is for people to only implement what they personally need, and that usually does not help others. This project attempts to consolidate these implementations into one implementation of pthreads for Win32.
License
This implementation is free software, distributed under the GNU Lesser General Public License (LGPL).
Level of standards conformance
Pthreads-win32 currently implements a large subset of the POSIX standard threads related API. See our conformance page for a complete list of options and functions implemented as well as those that aren't.
HTML formatted manual pages are now available inside the package and on this site. Peruse them for additional Pthreads-win32 information.
Project maintainer
The project is being maintained by Ross Johnson, who has been involved from the start in 1998. The role primarily involves integrating contributed code and problem fixes, writing some original sections and test cases, and of course, testing, packaging and distributing the product.
Acknowledgements
We would like to thank Ben Elliston for initiating the project, and John Bossom for providing us with his win32 pthreads implementation, which provided the near complete basis for this project.
Thanks to Xavier Leroy for granting permission to use and modify his LinuxThreads manual pages, and to the Open Group for their manual pages.
Thanks also to all past and present contributors to the project.
Please also see the Acknowledgements section of the latest ANNOUNCEMENT page.
How does it work?
The Win32 pthreads is normally implemented as a dynamic link library (DLL). This has some notable advantages from the Win32 point of view, but it also more closely models existing pthread libraries on UNIX which are usually shared objects (e.g. libpthread.so). Please note though, that the library can also be built for static linking if necessary.
Success stories
The library is being used in many projects either migrating from Unix platforms or developing cross-platform applications. These include commercial, research and other applications, many of which can be found via a Google search (e.g. try the keywords 'pthreads-win32' and 'requirements').
Where can I get it?
Download
[You can also get it from one of several mirror sites.]
The
source tree and precompiled .DLL, .LIB and necessary header files are
included in the zip file named "pthread-w32-v-v-v-release.zip"
at:
ftp://sourceware.org/pub/pthreads-win32
(v-v-v is the version number, e.g. 1-4-0, and “release”
is a descriptive term that may vary, e.g. beta1, rc1. Etc). Versions
older than 2.9.1 are in self-extracting .exe files.
Just the
DLLs, LIBs, header files, and admin documentation is available
at:
ftp://sourceware.org/pub/pthreads-win32/dll-latest
The
source tree is available as a gzipped tar file
from:
ftp://sourceware.org/pub/pthreads-win32
The
source files are also available in unpacked form
at:
ftp://sourceware.org/pub/pthreads-win32/sources
Direct access to the CVS code repository
You can get anonymous read-only access to the source code using CVS (Concurrent Versioning System), from sourceware.org. If you would like to use CVS under Win32, you can get it from www.wincvs.org
To check out the most recent development version of the source code, type (or whatever the equivalent is in wincvs):
cvs -d :pserver:anonymous@sourceware.org:/cvs/pthreads-win32 checkout pthreads
Via the CVS Web page
There is also a web interface to CVS, which might suit you better if you're more interested in just reading the code.
Just want the DLL without the source code?
The latest DLL, development library, include files (pthread.h, semaphore.h, sched.h) , and ChangeLog are available from ftp://sourceware.org/pub/pthreads-win32/dll-latest
Mailing lists
A discussion list exists for this project.
To Subscribe
Send mail to
pthreads-win32-subscribe@sourceware.org
No subject or message is required, but will be ignored if present (some mailers may insist on one or both before sending the message).
Want to unsubscribe?
Send mail to
pthreads-win32-unsubscribe@sourceware.org
If you still get mail from the list after this then perhaps you've changed your address, in which case the list server won't recognise you. If you are still getting mail forwarded to you from your old address then you can unsubscribe your old address by sending mail to
pthreads-win32-unsubscribe-oldname=oldhost.olddomain@sourceware.org
where oldname=oldhost.olddomain must be your previous address (with the '@' replaced by '='). A message will be sent to your old address so that you can confirm your removal. Otherwise you'll have to notify Ross so that he can remove your previous address by hand.
Other possibilities
There are also ways to get archived mailing list messages, or messages in digest form etc.
Keeping up with code changes
Another mailing list carries CVS notification messages which are generated when modifications are checked into CVS. You can subscribe by sending mail to sourceware-cvs-pthreads-win32-request@sourceware.org. (What a mouthful!)
Project resources
Other pages
Manual pages online – edited for Pthreads-win32
Independent Critiques and benchmarking of the library
PThreads resources
Documentation/FAQs/Tutorials
The Single Unix Specification version 3 (IEEE Std 1003.1-2001) free online reference
Pthreads API reference (AIX specific – handy but not pthreads-win32 specific)
Newsgroups
Maintained by Ross Johnson You can contact me using: Firstname.Lastname at the domain homemail.com.au
