>  기사  >  백엔드 개발  >  파이썬 스레드 모듈이란 무엇입니까? 스레드 모듈을 이해하는 데 도움이 되는 9가지 방법

파이썬 스레드 모듈이란 무엇입니까? 스레드 모듈을 이해하는 데 도움이 되는 9가지 방법

乌拉乌拉~
乌拉乌拉~원래의
2018-08-21 19:43:581406검색

Python 프로그래밍 언어를 처음 접하는 사람들은 python 스레드 모듈을 배우기 시작했을 때 python 스레드 모듈에 대해 잘 알지 못했습니다. 이번 글에서는 Python 스레드 모듈에 대해 알아보겠습니다. 더 이상 고민하지 않고 스레드 모듈 학습을 시작하겠습니다.

스레드 모듈이란 무엇인가요?

Python은 스레드와 스레딩이라는 두 가지 표준 라이브러리를 통해 스레드를 지원합니다. 스레드는 낮은 수준의 기본 스레드와 간단한 잠금을 제공합니다.

threading 모듈에서 제공하는 다른 메서드:

1.threading.currentThread(): 현재 스레드 변수를 반환합니다.

2.threading.enumerate(): 실행 중인 스레드가 포함된 목록을 반환합니다. 실행이란 스레드가 시작된 후 종료되기 전을 의미하며, 시작 전과 종료 후의 스레드는 제외됩니다.

3.threading.activeCount(): 실행 중인 스레드 수를 반환하며, 이는 len(threading.enumerate())과 동일한 결과를 갖습니다.

사용 메서드 외에도 스레드 모듈은 스레드를 처리하기 위한 Thread 클래스도 제공합니다. Thread 클래스는 다음 메서드를 제공합니다.

1.run(): 스레드 활동을 나타내는 데 사용되는 메서드입니다.

2.start(): 스레드 활동을 시작합니다.

3.join([time]): 스레드가 종료될 때까지 기다립니다. 이는 스레드의 Join() 메소드가 abort(정상적으로 종료하거나 처리되지 않은 예외 발생)를 호출하거나 선택적 시간 초과가 발생할 때까지 호출 스레드를 차단합니다.

4.isAlive(): 스레드가 활성 상태인지 여부를 반환합니다.

5.getName(): 스레드 이름을 반환합니다.

6.setName(): 스레드 이름을 설정합니다.

Threading 모듈을 사용하여 스레드 생성

Threading 모듈을 사용하여 스레드를 생성하고 threading.Thread에서 직접 상속한 다음 __init__ 메서드 및 실행 메서드를 다시 작성합니다.

# !/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"

위 프로그램의 실행 결과는 다음과 같습니다.

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

위 내용은 이 글에 설명된 모든 내용에 대해 주로 파이썬 스레드 모듈 관련 지식을 소개하는 내용이므로 위 내용을 이해하는 데 참고하시기 바랍니다. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.

더 많은 관련 지식을 알고 싶으시면 PHP 중국어 홈페이지의 Python tutorial 칼럼을 방문해 주세요.

위 내용은 파이썬 스레드 모듈이란 무엇입니까? 스레드 모듈을 이해하는 데 도움이 되는 9가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.