Aperçu de l’API
class ContextAwareThread
Un thread qui exécute des fonctions avec le contexte de l’appelant.
Il s’agit d’un remplacement direct de threading.Thread qui garantit que les appels se comportent comme prévu à l’intérieur du thread. Weave exige que certaines contextvars soient définies (voir call_context.py), mais les nouveaux threads ne recopient pas automatiquement le contexte du parent, ce qui peut entraîner la perte du contexte d’appel — ce qui n’est pas idéal. Cette classe automatise la copie des contextvars afin que l’utilisation de ce thread “fonctionne tout simplement”, comme l’utilisateur s’y attend probablement.
Vous pouvez obtenir le même effet sans cette classe en écrivant plutôt :
méthode __init__
propriété daemon
Valeur booléenne indiquant si ce thread est un thread daemon.
Cette propriété doit être définie avant l’appel à start(), sinon une exception RuntimeError est levée. Sa valeur initiale est héritée du thread qui l’a créé ; le thread principal n’est pas un thread daemon et, par conséquent, tous les threads créés dans le thread principal ont par défaut daemon = False.
L’ensemble du programme Python se termine lorsqu’il ne reste plus que des threads daemon.
propriété ident
Identifiant de ce thread, ou None s’il n’a pas été démarré. Il s’agit d’un entier non nul. Voir la fonctionget_ident(). Les identifiants de thread peuvent être réutilisés lorsqu’un thread se termine et qu’un autre thread est créé. L’identifiant reste disponible même après la fin du thread.
propriété nom
Chaîne utilisée uniquement à des fins d’identification. Elle n’a pas de signification particulière. Plusieurs threads peuvent avoir le même nom. Le nom initial est défini par le constructeur.propriété native_id
Identifiant natif entier de ce thread, ou None s’il n’a pas encore été démarré. Il s’agit d’un entier non négatif. Voir la fonctionget_native_id(). Il correspond à l’ID du thread tel que renvoyé par le noyau.
méthode run
class ContextAwareThreadPoolExecutor
Un ThreadPoolExecutor qui exécute des fonctions avec le contexte de l’appelant.
Il s’agit d’un remplacement direct de concurrent.futures.ThreadPoolExecutor qui garantit que les appels Weave se comportent comme prévu au sein de l’exécuteur. Weave nécessite que certaines contextvars soient définies (voir call_context.py), mais les nouveaux threads ne copient pas automatiquement le contexte du parent, ce qui peut entraîner la perte du contexte d’appel — ce n’est pas idéal ! Cette classe automatise la copie des contextvars, de sorte que l’utilisation de cet exécuteur « fonctionne tout simplement », comme l’utilisateur s’y attend probablement.
Vous pouvez obtenir le même effet sans cette classe en écrivant plutôt :
méthode __init__
méthode map
méthode submit
fonction obsolète
new_name.
fonction is_colab
fonction is_notebook
fonction log_once
log_method: La méthode à utiliser pour consigner le message. Elle doit accepter un argument de type chaîne de caractères.message: Le message à consigner. Exemple :