다른 스레드를 생성하려면 스레드 모듈에서 사용할 수 있는 다음 메서드를 호출해야 합니다. -
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
저수준 스레딩에는 매우 효과적이지만, 스레딩 모듈은 최신 스레딩 모듈에 비해 매우 제한적입니다.