Để tạo ra một luồng khác, bạn cần gọi phương thức sau có sẵn trong mô-đun luồng -
thread.start_new_thread ( function, args[, kwargs] )
Lệnh gọi phương thức này cho phép một cách nhanh chóng và hiệu quả để tạo các chuỗi mới trong cả Linux và Windows.
Lời gọi phương thức trả về ngay lập tức và luồng con bắt đầu và gọi hàm với danh sách các args được truyền vào. Khi hàm trả về, chuỗi sẽ kết thúc.
Ở đây, args là một loạt các đối số; sử dụng một bộ giá trị trống để gọi hàm mà không chuyển bất kỳ đối số nào. kwargs là một từ điển tùy chọn của các đối số từ khóa.
Ví dụ
#!/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
Đầu ra
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
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
Mặc dù nó rất hiệu quả đối với phân luồng cấp thấp, nhưng mô-đun luồng rất hạn chế so với mô-đun phân luồng mới hơn.