>백엔드 개발 >파이썬 튜토리얼 >Python 스레딩 모듈이란 무엇입니까? 3분 안에 스레드 모듈이 무엇인지 알아보세요

Python 스레딩 모듈이란 무엇입니까? 3분 안에 스레드 모듈이 무엇인지 알아보세요

Tomorin
Tomorin원래의
2018-08-16 17:37:191901검색

이 문서에서는 스레드란 무엇인가에 대해 주로 설명합니다. 스레드는 운영 체제에서 계산 스케줄링을 수행할 수 있는 가장 작은 단위입니다. 프로세스는 프로세스 내에 포함되며 프로세스 내의 실제 처리 단위입니다. 스레드는 지침의 모음입니다.

A thread는 프로세스의 단일 순차 제어 흐름을 의미하며 여러 스레드가 프로세스에서 동시에 실행될 수 있으며 각 스레드는 서로 다른 작업을 병렬로 실행합니다.

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


위 내용은 Python 스레딩 모듈이란 무엇입니까? 3분 안에 스레드 모듈이 무엇인지 알아보세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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