16. Optional Operating System Services
**************************************

The modules described in this chapter provide interfaces to operating
system features that are available on selected operating systems only.
The interfaces are generally modeled after the Unix or C interfaces
but they are available on some other systems as well (e.g. Windows or
NT).  Here’s an overview:

* 16.1. "select" — Waiting for I/O completion

  * 16.1.1. Edge and Level Trigger Polling (epoll) Objects

  * 16.1.2. Polling Objects

  * 16.1.3. Kqueue Objects

  * 16.1.4. Kevent Objects

* 16.2. "threading" — Higher-level threading interface

  * 16.2.1. Objets *Threads*

  * 16.2.2. Lock Objects

  * 16.2.3. RLock Objects

  * 16.2.4. Condition Objects

  * 16.2.5. Semaphore Objects

    * 16.2.5.1. "Semaphore" Example

  * 16.2.6. Event Objects

  * 16.2.7. Timer Objects

  * 16.2.8. Using locks, conditions, and semaphores in the "with"
    statement

  * 16.2.9. Importing in threaded code

* 16.3. "thread" — Multiple threads of control

* 16.4. "dummy_threading" — Module de substitution au module
  "threading"

* 16.5. "dummy_thread" — Drop-in replacement for the "thread" module

* 16.6. "multiprocessing" — Process-based « threading » interface

  * 16.6.1. Introduction

    * 16.6.1.1. La classe "Process"

    * 16.6.1.2. Échange d’objets entre les processus

    * 16.6.1.3. Synchronisation entre processus

    * 16.6.1.4. Partager un état entre les processus

    * 16.6.1.5. Utiliser un réservoir de *workers*

  * 16.6.2. Référence

    * 16.6.2.1. "Process" et exceptions

    * 16.6.2.2. Tubes (*pipes*) et Queues

    * 16.6.2.3. Divers

    * 16.6.2.4. Objets de connexions

    * 16.6.2.5. Primitives de synchronisation

    * 16.6.2.6. Objets "ctypes" partagés

      * 16.6.2.6.1. Le module "multiprocessing.sharedctypes"

    * 16.6.2.7. Gestionnaires

      * 16.6.2.7.1. Gestionnaires personnalisés

      * 16.6.2.7.2. Utiliser un gestionnaire distant

    * 16.6.2.8. Objets mandataires

      * 16.6.2.8.1. Nettoyage

    * 16.6.2.9. Bassins de processus

    * 16.6.2.10. Auditeurs et Clients

      * 16.6.2.10.1. Formats d’adresses

    * 16.6.2.11. Clés d’authentification

    * 16.6.2.12. Journalisation

    * 16.6.2.13. Le module "multiprocessing.dummy"

  * 16.6.3. Lignes directrices de programmation

    * 16.6.3.1. All platforms

    * 16.6.3.2. Windows

  * 16.6.4. Exemples

* 16.7. "mmap" — Memory-mapped file support

* 16.8. "readline" — interface pour GNU *readline*

  * 16.8.1. Fichier d’initialisation

  * 16.8.2. Tampon de ligne

  * 16.8.3. Fichier d’historique

  * 16.8.4. Liste d’historique

  * 16.8.5. Fonctions de rappel au démarrage

  * 16.8.6. Complétion

  * 16.8.7. Exemple

* 16.9. "rlcompleter" — Fonction de complétion pour *GNU readline*

  * 16.9.1. Objets pour la complétion (*Completer Objects*)
