Hàm sleep () trong Python (Với các ví dụ)

Hàm sleep () tạm dừng (chờ) thực thi luồng hiện tại trong một số giây nhất định.

Python có một mô-đun có tên là thời gian cung cấp một số chức năng hữu ích để xử lý các tác vụ liên quan đến thời gian. Một trong những chức năng phổ biến trong số đó là sleep().

Các sleep()chức năng đình chỉ thực hiện các đề hiện tại cho một số lượng nhất định của giây.

Ví dụ 1: Python sleep ()

  import time print("Printed immediately.") time.sleep(2.4) print("Printed after 2.4 seconds.") 

Đây là cách chương trình này hoạt động:

  • "Printed immediately" được in
  • Tạm dừng (Trì hoãn) thực thi trong 2,4 giây.
  • "Printed after 2.4 seconds" được in.

Như bạn có thể thấy từ ví dụ trên, sleep()lấy một số dấu phẩy động làm đối số.

Trước Python 3.5 , thời gian tạm ngưng thực tế có thể ít hơn đối số được chỉ định cho time()hàm.

Kể từ Python 3.5 , thời gian tạm ngưng sẽ ít nhất là giây được chỉ định.

Ví dụ 2: Python tạo đồng hồ kỹ thuật số

 import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1) 

Trong chương trình trên, chúng tôi đã tính toán và in giờ địa phương hiện tại bên trong vòng lặp while vô hạn. Sau đó, chương trình chờ trong 1 giây. Một lần nữa, giờ địa phương hiện tại được tính toán và in. Quá trình này tiếp tục.

Khi bạn chạy chương trình, kết quả đầu ra sẽ như sau:

 02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM… 

Đây là một phiên bản tốt hơn được sửa đổi một chút của chương trình trên.

  import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("", end="", flush=True) time.sleep(1) 

Để tìm hiểu thêm, hãy truy cập đồng hồ kỹ thuật số trong Python shell.

Đa luồng trong Python

Trước khi nói về sleep()các chương trình đa luồng, chúng ta hãy nói về các quy trình và luồng.

Chương trình máy tính là một tập hợp các hướng dẫn. Quá trình là việc thực hiện các hướng dẫn đó.

Một luồng là một tập hợp con của quy trình. Một quy trình có thể có một hoặc nhiều luồng.

Ví dụ 3: Đa luồng trong Python

Tất cả các chương trình ở trên trong bài viết này là các chương trình đơn luồng. Đây là một ví dụ về một chương trình Python đa luồng.

  import threading def print_hello_three_times(): for i in range(3): print("Hello") def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() 

Khi bạn chạy chương trình, kết quả đầu ra sẽ như sau:

 Xin chào Xin chào Xin chào Xin chào 

Chương trình trên có hai luồng t1 và t2. Các luồng này được chạy bằng cách sử dụng t1.start()và các t2.start()câu lệnh.

Lưu ý rằng, t1 và t2 chạy đồng thời và bạn có thể nhận được kết quả đầu ra khác nhau.

Truy cập trang này để tìm hiểu thêm về Đa luồng trong Python.

time.sleep () trong các chương trình đa luồng

Các sleep()chức năng đình chỉ thực hiện các đề hiện tại cho một số lượng nhất định của giây.

Trong trường hợp các chương trình đơn luồng, sleep()tạm ngừng thực thi luồng và quá trình. Tuy nhiên, hàm này sẽ tạm ngưng một luồng thay vì toàn bộ quá trình trong các chương trình đa luồng.

Ví dụ 4: sleep () trong một chương trình đa luồng

 import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print("Hello") def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Chương trình trên có hai chủ đề. Chúng tôi đã sử dụng time.sleep(0.5)time.sleep(0.75)để tạm ngừng thực thi hai luồng này trong 0,5 giây và 0,7 giây tương ứng.

Đề xuất đọc: Chuỗi thời gian ngủ trong Python time.sleep ()

thú vị bài viết...