스레드의 주요 문제는 CPU 시간 및 메모리와 같은 리소스에 대해 많은 경합을 일으킬 수 있다는 것입니다. 두 스레드가 동시에 동일한 리소스에 액세스하려고 하면 문제가 발생할 수 있습니다.ing_simple.py
#!/usr/bin/python import threading import time # 스레드에 대한 함수 정의 def print_time( threadName, delay): count = 0 while count < 5: time.sleep(delay) count += 1 print "%s: %s" % ( threadName, time.ctime(time.time()) ) # 다음과 같이 두 개의 스레드를 만듭니다. "Thread-1", 2, ) ) 제외: print "오류: 스레드를 시작할 수 없음" while 2: pass[/code] 이 코드는 두 개의 스레드를 생성합니다. 첫 번째 스레드는 4초마다 "print_time" 함수를 실행하고 두 번째 스레드는 1초마다 "print_time" 함수를 실행합니다.
개체 스레딩
Python에서는 threading 모듈을 사용하여 개체를 스레드할 수 있습니다. 이 모듈은 코드에서 스레드를 만들고 관리하는 데 사용할 수 있는 다양한 기능을 제공합니다.
Python에서 새 스레드를 시작하려면 threading.Thread() 함수를 사용할 수 있습니다. 이 함수는 스레드로 실행하려는 함수 개체를 유일한 인수로 사용합니다. 함수 개체에는 이 함수가 실행될 스레드의 이름을 지정하는 __name__ 속성이 있어야 합니다.
Thread() 함수를 사용하여 스레드를 만든 후에는 Threading.start() 메서드를 호출하여 스레드를 시작할 수 있습니다. 이 메서드는 새 스레드가 실행을 시작해야 하는 프로그램 파일의 이름을 지정하는 문자열을 유일한 인수로 사용합니다.
Threading.join() 메서드를 사용하여 실행 중인 스레드를 종료하고 기본 프로그램 루프로 제어를 반환할 수도 있습니다. 이 메서드는 새 스레드가 실행을 종료해야 하는 프로그램 파일의 이름을 지정하는 문자열을 유일한 인수로 사용합니다.
데몬 스레드
데몬 스레드는 프로그램의 백그라운드에서 실행되는 스레드입니다. 정상적인 실행 흐름을 방해하지 않고 장기 실행 작업이나 서비스를 처리하는 데 사용됩니다.