Exécution concourante¶
Les modules documentés dans ce chapitre fournissent des outils d'exécution concourante de code. Le choix de l'outil approprié dépend de la tâche à exécuter (limitée par le CPU (CPU bound), ou limitée la vitesse des entrées-sorties (IO bound)) et du style de développement désiré (coopération gérée par des évènements ou multitâche préemptif). En voici un survol :
threading
--- Thread-based parallelismactive_count()
current_thread()
excepthook()
__excepthook__
get_ident()
get_native_id()
enumerate()
main_thread()
settrace()
settrace_all_threads()
gettrace()
setprofile()
setprofile_all_threads()
getprofile()
stack_size()
TIMEOUT_MAX
- Données locales au fil d'exécution
- Objets Threads
- Verrous
- RLock Objects
- Condition Objects
- Semaphore Objects
- Event Objects
- Timer Objects
- Barrier Objects
- Using locks, conditions, and semaphores in the
with
statement
multiprocessing
--- Process-based parallelism- Introduction
- Référence
- Lignes directrices de programmation
- Exemples
multiprocessing.shared_memory
--- Shared memory for direct access across processes- The
concurrent
package concurrent.futures
--- Launching parallel taskssubprocess
--- Subprocess management- Utiliser le module
subprocess
- Considérations de sécurité
- Objets Popen
- Utilitaires Popen pour Windows
STARTUPINFO
- Constantes Windows
STD_INPUT_HANDLE
STD_OUTPUT_HANDLE
STD_ERROR_HANDLE
SW_HIDE
STARTF_USESTDHANDLES
STARTF_USESHOWWINDOW
STARTF_FORCEONFEEDBACK
STARTF_FORCEOFFFEEDBACK
CREATE_NEW_CONSOLE
CREATE_NEW_PROCESS_GROUP
ABOVE_NORMAL_PRIORITY_CLASS
BELOW_NORMAL_PRIORITY_CLASS
HIGH_PRIORITY_CLASS
IDLE_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
REALTIME_PRIORITY_CLASS
CREATE_NO_WINDOW
DETACHED_PROCESS
CREATE_DEFAULT_ERROR_MODE
CREATE_BREAKAWAY_FROM_JOB
- Ancienne interface (API) haut-niveau
- Remplacer les fonctions plus anciennes par le module
subprocess
- Remplacement des fonctions originales d'invocation du shell
- Notes
- Utiliser le module
sched
--- Event schedulerqueue
--- A synchronized queue classcontextvars
--- Context Variables
Les modules suivants servent de fondation pour certains services cités ci-dessus :