Maison  >  Article  >  développement back-end  >  Qu'est-ce que le module de thread Python ? Neuf façons de vous aider à comprendre le module de discussion

Qu'est-ce que le module de thread Python ? Neuf façons de vous aider à comprendre le module de discussion

乌拉乌拉~
乌拉乌拉~original
2018-08-21 19:43:581450parcourir

Pour ceux qui sont exposés au langage de programmation python pour la première fois, alors qu'ils commençaient tout juste à apprendre le module de thread python, ils devaient comprendre le module de thread en python Il y en a relativement peu. Dans cet article, découvrons le module de thread python. Sans plus tarder, commençons à apprendre le module thread.

Qu'est-ce que le module thread ?

Python prend en charge les threads via deux bibliothèques standards, thread et threading. thread fournit des threads primitifs de bas niveau et un simple verrou.

Autres méthodes fournies par le module threading :

1.threading.currentThread() : Renvoie la variable de thread actuelle.

2.threading.enumerate() : renvoie une liste contenant les threads en cours d'exécution. L'exécution fait référence au thread après son démarrage et avant sa fin, à l'exclusion des threads avant le démarrage et après la fin.

3.threading.activeCount() : renvoie le nombre de threads en cours d'exécution, qui a le même résultat que len(threading.enumerate()).

En plus des méthodes d'utilisation, le module thread fournit également la classe Thread pour gérer les threads. La classe Thread fournit les méthodes suivantes :

1.run() : Une méthode utilisée pour représenter le thread. activité.

2.start() : démarre l'activité du fil de discussion.

3.join([time]) : Attendez que le fil de discussion se termine. Cela bloque le thread appelant jusqu'à ce que la méthode join() du thread soit appelée abort - quitte normalement ou lève une exception non gérée - ou qu'un délai d'attente facultatif se produise.

4.isAlive() : renvoie si le fil de discussion est actif.

5.getName() : renvoie le nom du fil de discussion.

6.setName() : définit le nom du fil de discussion.

Utilisez le module Threading pour créer un fil

Utilisez le module Threading pour créer un fil, héritez directement de threading.Thread, puis remplacez la méthode __init__ et exécutez méthode :

# !/usr/bin/python
# -*- coding: UTF-8 -*-

import threading
import time

exitFlag = 0

class myThread(threading.Thread):  # 继承父类threading.Thread
   def __init__(self, threadID, name, counter):
      threading.Thread.__init__(self)
      self.threadID = threadID
      self.name = name
      self.counter = counter
   def run(self):  # 把要执行的代码写到run函数里面 线程在创建后会直接运行run函数 
      print "Starting " + self.name
      print_time(self.name, self.counter, 5)
      print "Exiting " + self.name
def print_time(threadName, delay, counter):
   while counter:
      if exitFlag:
         (threading.Thread).exit()
      time.sleep(delay)
      print "%s: %s" % (threadName, time.ctime(time.time()))
      counter -= 1
# 创建新线程
thread1 = myThread(1, "Thread-1", 1)
thread2 = myThread(2, "Thread-2", 2)
# 开启线程
thread1.start()
thread2.start()
print "Exiting Main Thread"

Le résultat de l'exécution du programme ci-dessus est le suivant :

Starting Thread-1
Starting Thread-2
Exiting Main Thread
Thread-1: Thu Mar 21 09:10:03 2013
Thread-1: Thu Mar 21 09:10:04 2013
Thread-2: Thu Mar 21 09:10:04 2013
Thread-1: Thu Mar 21 09:10:05 2013
Thread-1: Thu Mar 21 09:10:06 2013
Thread-2: Thu Mar 21 09:10:06 2013
Thread-1: Thu Mar 21 09:10:07 2013
Exiting Thread-1
Thread-2: Thu Mar 21 09:10:08 2013
Thread-2: Thu Mar 21 09:10:10 2013
Thread-2: Thu Mar 21 09:10:12 2013
Exiting Thread-2

Ce qui précède est tout le contenu de cet article. Cet article présente principalement le python. module de fil de discussion Connaissance, j'espère que vous pourrez utiliser les informations pour comprendre ce qui est dit ci-dessus. J'espère que ce que j'ai décrit dans cet article vous sera utile et vous facilitera l'apprentissage de Python.

Pour plus de connaissances connexes, veuillez visiter la colonne Tutoriel Python du site Web php chinois.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn