Chức năng này thực sự tạm dừng quá trình xử lý luồng mà hệ điều hành gọi nó, cho phép các luồng và quy trình khác thực thi trong khi nó ở chế độ ngủ
Sử dụng nó cho mục đích đó, hoặc đơn giản là để trì hoãn một chức năng thực thi. Ví dụ
>>> def party_time[]:
.. print['hooray!']
...
>>> sleep[3]; party_time[]
hooray!
"hoan hô. " được in 3 giây sau khi tôi nhấn Enter
Ví dụ sử dụng sleep
với nhiều luồng và quy trình
Một lần nữa, sleep
tạm dừng chủ đề của bạn - nó sử dụng sức mạnh xử lý gần như bằng không
Để chứng minh, hãy tạo một tập lệnh như thế này [lần đầu tiên tôi thử điều này trong Python 3 tương tác. 5, nhưng các quy trình con không thể tìm thấy hàm party_later
vì lý do nào đó]
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
from time import sleep, time
def party_later[kind='', n='']:
sleep[3]
return kind + n + ' party time!: ' + __name__
def main[]:
with ProcessPoolExecutor[] as proc_executor:
with ThreadPoolExecutor[] as thread_executor:
start_time = time[]
proc_future1 = proc_executor.submit[party_later, kind='proc', n='1']
proc_future2 = proc_executor.submit[party_later, kind='proc', n='2']
thread_future1 = thread_executor.submit[party_later, kind='thread', n='1']
thread_future2 = thread_executor.submit[party_later, kind='thread', n='2']
for f in as_completed[[
proc_future1, proc_future2, thread_future1, thread_future2,]]:
print[f.result[]]
end_time = time[]
print['total time to execute four 3-sec functions:', end_time - start_time]
if __name__ == '__main__':
main[]
Đầu ra ví dụ từ tập lệnh này
thread1 party time!: __main__
thread2 party time!: __main__
proc1 party time!: __mp_main__
proc2 party time!: __mp_main__
total time to execute four 3-sec functions: 3.4519670009613037
đa luồng
Bạn có thể kích hoạt một hàm để được gọi sau đó trong một luồng riêng biệt với đối tượng luồng Timer
>>> from threading import Timer
>>> t = Timer[3, party_time, args=None, kwargs=None]
>>> t.start[]
>>>
>>> hooray!
>>>
Dòng trống minh họa rằng hàm được in ra đầu ra tiêu chuẩn của tôi và tôi phải nhấn Enter để đảm bảo rằng tôi đang ở trên dấu nhắc
Ưu điểm của phương pháp này là trong khi luồng Timer
đang chờ, tôi có thể làm những việc khác, trong trường hợp này, nhấn Enter một lần - trước khi chức năng được thực thi [xem dấu nhắc trống đầu tiên]
Không có đối tượng tương ứng trong thư viện đa xử lý. Bạn có thể tạo một cái, nhưng nó có thể không tồn tại vì một lý do nào đó. Một luồng con có ý nghĩa hơn nhiều đối với một bộ đếm thời gian đơn giản hơn là một quy trình con hoàn toàn mới
Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay và việc thành thạo nó mang lại nhiều lợi thế cho sự nghiệp của bạn. Trong bài viết này, bạn sẽ tìm hiểu mọi thứ về giấc ngủ trong python. Hãy để chúng tôi bắt đầu với việc hiểu chính xác giấc ngủ là gì[]
Giấc ngủ [] trong Python là gì?
Hàm sleep[] trong mô-đun thời gian của python được sử dụng để tạm dừng thực thi chương trình trong số giây đã cho. Điều này có nghĩa là chương trình bị tạm dừng trong một thời gian nhất định và sau khi thời gian đó trôi qua, chương trình sẽ tự động được thực thi
Dưới đây là mô tả từng bước đơn giản về cách thực hiện chương trình khi chế độ ngủ [] được gọi
Cú pháp của Sleep[]
thời gian. ngủ [giây]
Tham số
Thời gian. hàm sleep[] chỉ có tham số, tôi. e giây. Điều này biểu thị số giây mà chúng tôi muốn chương trình bị tạm dừng. Số giây có thể ở dạng int hoặc float
Khóa đào tạo Python
Tìm hiểu về thao tác dữ liệu trong Python Khám phá khóa họcCách thêm cuộc gọi Python Sleep[] theo thời gian. ngủ[]
Bước 1
Để nhập mô-đun thời gian có trong python
Bước 2
Thêm thời gian. ngủ[]
Đối số 10 vượt qua ở đây là số giây mà việc thực thi chương trình sẽ bị tạm dừng
Chương trình ví dụ
Ở đây, ban đầu, chỉ có câu lệnh đầu tiên được thực thi. Đầu ra của lệnh in thứ hai sẽ được hiển thị sau 20 giây chờ đợi, như hình bên dưới
Sử dụng chế độ ngủ [] để trì hoãn việc thực thi chức năng
Thời gian. Hàm sleep[] cũng có thể được sử dụng để trì hoãn việc thực thi một hàm khi nó được gọi trong chương trình. Đây là một chương trình để trì hoãn việc thực hiện một chức năng
Chương trình ở đây có một hàm add[] sẽ hiển thị đầu ra “Việc thực thi hàm add[] sẽ bị trễ 20 giây” khi nó được gọi. Như, chúng ta có thể thấy ở đây rằng khi hàm được gọi, nó không in câu lệnh vì quá trình thực thi của hàm bị tạm dừng trong 10 giây
Sau 10 giây, đầu ra của chương trình sẽ như dưới đây
Bây giờ, quá trình thực thi hàm sleep[] đã hoàn tất, câu lệnh được truyền trong lệnh gọi hàm add[] sẽ được thực thi
Cách thêm lệnh gọi Python sleep[] với Decorators
Trình trang trí Python được sử dụng để thêm chức năng cho các hàm và phương thức tại thời điểm định nghĩa, thay vì tại thời điểm chạy. Trình trang trí là một hàm mở rộng và trả về một hàm
Một chương trình đơn giản sử dụng trình trang trí được đưa ra dưới đây
Trong đoạn mã trên, lời chào [] là một công cụ trang trí và tên hàm [] được trang trí bởi nó. Nó bọc chức năng trong một chức năng khác gọi là bên trong []
Một trình trang trí trong python có thể được sử dụng để tìm thời gian thực hiện của một chức năng cụ thể
Điều này có thể được thực hiện bằng cách xác định thời gian chức năng đơn giản. sleep[n], trong đó n sẽ cho biết số giây mà chương trình đã được thực thi
Dưới đây là một ví dụ để tìm thời gian thực hiện của một chức năng sử dụng thời gian. chức năng ngủ []
@measure_time sẽ trả về thời gian hàm myFunction thực hiện
Khoa học dữ liệu MIỄN PHÍ với khóa học Python
Bắt đầu học Khoa học dữ liệu với Python MIỄN PHÍ Bắt đầu họcCách thêm cuộc gọi ngủ Python [] với Chủ đề
Trong nhiều trường hợp, hàm sleep[] có thể được sử dụng song song với các luồng. Đây là một chức năng quan trọng của đa luồng. Đây là một ví dụ sử dụng một số luồng và bao gồm tạm dừng với độ trễ thay đổi
Ở đây, hai luồng đang được sử dụng, luồng đầu tiên sẽ in từng chữ cái của chuỗi và luồng thứ hai sẽ in toàn bộ chuỗi. Như chúng ta có thể thấy ở đây rằng thời gian. Hàm sleep[] chỉ tạm dừng thực thi luồng hiện tại. Điều này có nghĩa là chỉ các luồng đang bị tạm dừng thực thi trong một khoảng thời gian cụ thể, thay vì toàn bộ chương trình. Khi luồng đầu tiên bị tạm dừng, luồng thứ hai bắt đầu thực thi và sau đó luồng thứ nhất tiếp tục kiểm soát để hoàn thành chương trình
Mong muốn chuyển sang lĩnh vực lập trình?
Và bây giờ bạn đã biết mọi thứ về sleep[] trong python, bạn có thể muốn khám phá thêm. Bạn có thể thành thạo Python với Khóa học cấp chứng chỉ Python và mở rộng quy mô sự nghiệp lập trình của mình. Nếu còn bất kỳ thắc mắc nào về việc ngủ trong giấc ngủ của trăn, bạn có thể bình luận bên dưới và các chuyên gia của chúng tôi sẽ hỗ trợ bạn sớm nhất
Thông tin về các Tác giả
Simplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác