Computer >> Máy Tính >  >> Lập trình >> Python

Bắt đầu một chuỗi mới bằng Python

Để 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.