Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 새 스레드 시작하기

<시간/>

다른 스레드를 생성하려면 스레드 모듈에서 사용할 수 있는 다음 메서드를 호출해야 합니다. -

thread.start_new_thread ( function, args[, kwargs] )

이 메서드 호출을 사용하면 Linux와 Windows 모두에서 새 스레드를 빠르고 효율적으로 생성할 수 있습니다.

메서드 호출이 즉시 반환되고 자식 스레드가 시작되고 전달된 인수 목록으로 함수를 호출합니다. 함수가 반환되면 스레드가 종료됩니다.

여기에서 args는 인수의 튜플입니다. 인수를 전달하지 않고 함수를 호출하려면 빈 튜플을 사용합니다. kwargs는 키워드 인수의 선택적 사전입니다.

#!/usr/bin/python
import thread
import time
# Define a function for the thread
def print_time( threadName, delay):
   count = 0
   while count < 5:
      time.sleep(delay)
      count += 1
      print "%s: %s" % ( threadName, time.ctime(time.time()) )
# Create two threads as follows
try:
   thread.start_new_thread( print_time, ("Thread-1", 2, ) )
   thread.start_new_thread( print_time, ("Thread-2", 4, ) )
except:
   print "Error: unable to start thread"
while 1:
   pass
인쇄

출력

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다 -

Thread-1: Thu Jan 22 15:42:17 2009
Thread-1: Thu Jan 22 15:42:19 2009
Thread-2: Thu Jan 22 15:42:19 2009
Thread-1: Thu Jan 22 15:42:21 2009
Thread-2: Thu Jan 22 15:42:23 2009
Thread-1: Thu Jan 22 15:42:23 2009
Thread-1: Thu Jan 22 15:42:25 2009
Thread-2: Thu Jan 22 15:42:27 2009
Thread-2: Thu Jan 22 15:42:31 2009
Thread-2: Thu Jan 22 15:42:35 2009

저수준 스레딩에는 매우 효과적이지만, 스레딩 모듈은 최신 스레딩 모듈에 비해 매우 제한적입니다.