Giter VIP home page Giter VIP logo

gnu-pth's Introduction

   ____  _   _
  |  _ \| |_| |__
  | |_) | __| '_ \                    ``Only those who attempt
  |  __/| |_| | | |                     the absurd can achieve
  |_|    \__|_| |_|                     the impossible.''

  GNU Pth - The GNU Portable Threads
  Version 2.0.7 (08-Jun-2006)

  ABSTRACT

  Pth is a very portable POSIX/ANSI-C based library for Unix platforms
  which provides non-preemptive priority-based scheduling for multiple
  threads of execution (aka `multithreading') inside event-driven
  applications. All threads run in the same address space of the server
  application, but each thread has its own individual program-counter,
  run-time stack, signal mask and errno variable.

  The thread 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.

  Additionally Pth provides an optional emulation API for POSIX.1c
  threads (`Pthreads') which can be used for backward compatibility to
  existing multithreaded applications.

  Finally, Pth guarranties its fixed set of API functionality on
  all platforms, i.e., functions like pth_poll(3), pth_readv(3) or
  pth_writev(3) are always available, even if the particular underlaying
  platform does not actually support their functionality (through the
  system calls poll(2), readv(2), writev(2), etc).

  Although Pth is very feature-rich, it is a rather small threading
  library. It consists only of approximately 7,000 line (or 300 KB) of
  ANSI C code which are auto-configured with approximately 400 lines (or
  60 KB) of Autoconf/m4 macros and which are documented by approximately
  3,000 lines (or 150 KB) of documentation. Additionally the sources
  are documented with approximately 3,600 additional lines of comments.
  As a result, the whole source tree is just about 1.5 MB in size and
  fits into a small tarball less than 350 KB in size. This allows Pth to
  fit very well even into the source tree of other applications without
  bloating it up very much.

  Pth was successfully tested on FreeBSD, NetBSD, OpenBSD, BSDI,
  GNU/Linux, Solaris, HPUX, Tru64 (OSF/1), AIX, IRIX, UnixWare, SCO
  OpenServer, SINIX, ReliantUNIX, ISC, AmigaOS, Rhapsody (MacOS X), FTX,
  AUX and Win32/Cygwin. And it should should automatically adjust itself
  to remaining Unix platforms, too.

  COPYRIGHT AND LICENSE

  Copyright (c) 1999-2006 Ralf S. Engelschall <[email protected]>

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library (see file COPYING); if not, write
  to the Free Software Foundation, Inc., 59 Temple Place, Suite
  330, Boston, MA 02111-1307 USA, or contact Ralf S. Engelschall
  <[email protected]>.

  HOME AND DOCUMENTATION

  The documentation and latest release can be found on

  o OSSP: http://www.ossp.org/pkg/lib/pth/
  o OSSP:  ftp://ftp.ossp.org/pkg/lib/pth/
  o GNU:  http://www.gnu.org/software/pth/
  o GNU:   ftp://ftp.gnu.org/gnu/pth/

                                       Ralf S. Engelschall
                                       [email protected]
                                       www.engelschall.com

gnu-pth's People

Contributors

danluu avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

ilyastray777

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.