Hàm sleep() trong Python
Module time trong Python cung cấp một số hàm rất hữu ích để xử lý các tác vụ liên quan đến thời gian. Một trong những hàm phổ biến được dùng nhiều nhất là sleep().
Hàm sleep() trong Python sử dụng để dừng thực thi luồng hiện tại trong số giây truyền vào.
Ví dụ 1: Sử dụng sleep()
import time
print ("In kết quả ra màn hình ngay lập tức.")
time.sleep(3)
print ("In kết quả ra màn hình sau 3s.")Phương thức này không trả về bất cứ giá trị nào mà chỉ delay trình thực thi, hoạt động như này:
- Thực thi tác vụ để hiển thị kết quả "In kết quả ra màn hình ngay lập tức."
- Trì hoãn trình thực thi trong vòng 3s.
- Tiếp tục thực thi tác vụ và hiển thị "In kết quả ra màn hình sau 3s."
Ví dụ 2: Tạo đồng hồ điện tử trong Python
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result)
time.sleep(1)Ở chương trình trên, Quantrimang đã tạo và in ra thời gian cục bộ bên trong một vòng lặp while vô hạn. Sau khi in ra kết quả, trình thực thi sẽ delay trong vòng 1 giây rồi tiếp tục in ra thời gian hiện tại. Quá trình này diễn ra liên tục nhờ vòng lặp while, tạo thành một đồng hồ điện tử trong Python.
11:58:31 AM
11:58:32 AM
11:58:33 AM
11:58:34 AM
11:58:35 AM
11:58:36 AM
11:58:37 AM
11:58:38 AM
... .. ...Hoặc một cách khác làm đồng hồ điện tử:
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result, end="", flush=True)
print("\n", end="", flush=True)
time.sleep(1)Đa luồng trong Python
Trước khi nói về sleep() trong các chương trình đa luồng, ta hãy đề cập một chút đến Process và Thread.
- Process là quá trình hoạt động của một chương trình.
- Thread là một bước điều hành bên trong một process. Một process có thể chứa nhiều thread bên trong nó.
Ví dụ 3: Đa luồng Python
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()Chạy chương trình, kết quả output ra màn hình sẽ có dạng:
Hello
Hello
Hi
Hello
Hi
HiChươ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 các câu lệnh t1.start() và t2.start().
Lưu ý rằng, t1 và t2 chạy đồng thời và bạn có thể nhận được output khác nhau.
time.sleep() trong các chương trình đa luồng
Hàm sleep() tạm dừng thực thi luồng hiện tại trong một số giây nhất định.
Trong trường hợp các chương trình đơn luồng, sleep() tạm dừng thực thi luồng và xử lý. Tuy nhiên, trong các chương trình đa luồng, hàm này chỉ tạm dừng một luồng thay vì toàn bộ quá trình đa luồng.
Ví dụ 4: sleep() trong 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()
Kết quả có dạng:
Hello
Hi
Hello
Hi
Hello
Hello
Hi
HiChương trình trên có hai thread. Ở đây ta đã sử dụng time.sleep(0.5) và time.sleep(0.75) để tạm dừng thực hiện hai luồng này trong 0.5 giây và 0.7 giây tương ứng.
Bạn nên đọc
-
Hàm frozenset() trong Python
-
Biến toàn cục (global), biến cục bộ (local), biến nonlocal trong Python
-
Viết chương trình tính căn bậc hai của một số bằng Python
-
Chuyển đổi giá trị timestamp trong Python
-
Ngày giờ hiện tại trong Python
-
Làm việc với File trong Python
-
Hơn 100 bài tập Python có lời giải (code mẫu)
-
Datetime trong Python
-
Hàm setattr() trong Python
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Proxy và VPN khác gì nhau?
3 ngày -

Code Fairy Tail Fierce Fight mới nhất và cách nhập code
3 ngày -

Cách dùng biểu tượng cảm xúc trong Đấu Trường Chân Lý
3 ngày -

Cách đổi mật khẩu truy cập Ultraviewer
3 ngày -

Cách chạy ứng dụng Windows trên Android bằng Winlator
3 ngày -

5 cách lấy kim cương miễn phí trong Free Fire
3 ngày 3 -

Hướng dẫn nâng cấp nhóm Zalo lên cộng đồng
3 ngày -

Công cụ chuyển đổi tiếng Việt sang teencode
3 ngày 4 -

Lời chúc Tết Đoan ngọ mùng 5/5 âm lịch, thơ hay về Tết Đoan Ngọ
3 ngày 1 -

19/5 là ngày gì? Ngày 19 tháng 5 năm 1890 là ngày gì?
3 ngày 6
Hướng dẫn AI
Học IT
Hàm Excel