[Petite histoire] Synchronisez avec Python sans multi-threading (utilisation limitée)

C'est une petite histoire en édition très limitée, mais je vais essayer de synchroniser sans utiliser le multi-threading, ce dont je ne suis pas sûr. Peut-être que cela n'aide pas la plupart des gens. De plus, il doit y avoir un meilleur moyen. Mais cela suffit. (À ce point) Je suis nouveau sur Python w

Chose que tu veux faire

En fait, je voulais faire quelque chose comme ce qui suit.

  1. Exécutez la commande externe A
  2. Exécutez la commande externe B
  3. Exécutez la commande externe C lorsque A et B ont terminé

Exécution de processus externe

Cela pourrait utiliser un sous-processus. J'ai utilisé popen () parce que je ne veux pas attendre la fin.

import subprocess

p1 = subprocess.popen("command_A")
p2 = subprocess.popen("command_B")

attendre

Attendre que les deux finissent. .. .. Il y a eu une attente ().

r1 = p1.wait()
r2 = p2.wait()

Vous pouvez également vérifier correctement la valeur de retour.

Exécution de processus externe

S'il n'y a pas de problème, exécutez le dernier processus externe. Vous n'avez pas à synchroniser cette fois, donc check_call () etc. est OK.

p3 = subprocess.check_call("command_C")

Résumé

Étudiez plus et écrivez un meilleur code! (LOL)

Recommended Posts

[Petite histoire] Synchronisez avec Python sans multi-threading (utilisation limitée)
[Petite histoire] Obtenez l'horodatage avec Python
[Petite histoire] Tester la génération d'images avec Python / OpenCV
[Python] Utiliser JSON avec Python
Utiliser mecab avec Python 3
petite histoire de python
Utiliser DynamoDB avec Python
Utilisez Python 3.8 avec Anaconda
Utiliser python avec docker
Utiliser l'API Trello avec python
Utiliser l'API Twitter avec Python
Utiliser TUN / TAP avec Python
Histoire de trébucher avec le tableau Python
Utiliser l'API subsonique avec python3
[Petite histoire] [Python] Remplacez les chaînes de caractères dans un tableau à deux dimensions par des nombres
Python: comment utiliser async avec
Utiliser la caméra Point Grey avec Python (PyCapture2)
Utilisez vl53l0x avec RaspberryPi (python)
Défiez LOTO 6 avec Python sans discipline
Imprimez avec python3 sans interruption
Utilisez NAIF SPICE TOOL KIT avec Python
Utiliser rospy avec virtualenv dans Python3
Utiliser Python mis en pyenv avec NeoVim
Utiliser la synthèse vocale Windows 10 avec Python
Utiliser OpenCV avec Python 3 dans Window
Utiliser PostgreSQL avec Lambda (Python + psycopg2)
Utilisez smbus avec python3 sous environnement pyenv
Utiliser DeepL avec python (pour la traduction d'articles)
Utiliser Amazon Simple Notification Service avec Python
[Introduction à Python] Utilisons foreach avec Python
Utilisez PIL ou Pillow avec Cygwin Python
Utiliser le chiffrement de la bibliothèque de chiffrement avec l'image Python de Docker
Utiliser sans installer python 2.x sous Windows
Utiliser Application Insights avec Python 3 (y compris les bouteilles)
Utilisation des fonctions C ++ de python avec pybind11
Utilisez le pilote Web phantomjs de sélénium avec unittest de python
Jusqu'à ce que vous puissiez utiliser opencv avec python
Utiliser Python et MeCab avec Azure Functions
Je veux utiliser MATLAB feval avec python
Utiliser des packages Python supplémentaires avec Serverless Framework (v1.x)
[Python3] Une histoire bloquée avec la conversion du fuseau horaire
[Dernière histoire] Un débutant a essayé Numeron AI avec python
Spécifiez le fichier exécutable Python à utiliser avec virtualenv
Utilisez Logger avec Python pour le moment
Python> Exécuter avec des arguments d'exécution> Utiliser import argparse
Utiliser plusieurs versions de l'environnement python avec pyenv
Envelopper C avec Cython pour une utilisation à partir de Python
Une histoire sur la gestion des données binaires en Python
Le moyen le plus simple d'utiliser OpenCV avec python
Histoire d'essayer d'utiliser Tensorboard avec Pytorch
Utilisez diverses fonctionnalités de rabbimq avec python pika
Je souhaite utiliser le répertoire temporaire avec Python2
Comment utiliser tkinter avec python dans pyenv
Utiliser Python dans un environnement Anaconda avec VS Code
Utilisez le test t de Welch (devrait) avec ou sans dispersion égale
Utiliser Python et word2vec (appris) avec Azure Databricks
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
Envelopper C ++ avec Cython pour une utilisation à partir de Python