Có lệnh ngủ trong Python không?

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ọc

Cá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ọc

Cá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ả

đơn giản

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

Phương thức sleep[] trong Python là gì?

Hàm sleep[] trong mô-đun thời gian của python được dùng để tạm dừng thực thi chương trình trong số giây đã cho .

Trăn có ngủ không?

Python có một mô-đun có tên là thời gian cung cấp một số phương thức hữu ích để xử lý các tác vụ liên quan đến thời gian. Một trong những phương thức phổ biến nhất trong số đó là sleep[] . Phương thức sleep[] tạm dừng thực thi luồng hiện tại trong một số giây nhất định.

Python có chức năng chờ không?

Mặc dù có rất nhiều cách để tạm dừng trong Python nhưng cách phổ biến nhất là sử dụng hàm wait[] . Phương thức wait[] trong Python được sử dụng để làm cho một tiến trình đang chạy đợi một hàm khác hoàn thành việc thực thi của nó, chẳng hạn như một tiến trình con, trước khi phải quay lại lớp cha hoặc sự kiện.

Giấc ngủ Python được triển khai như thế nào?

sleep không thực sự được triển khai bởi Python. Đúng là như vậy, nhưng nó chỉ đơn giản là một trình bao bọc xung quanh một thứ khác do Hệ điều hành triển khai . Tất cả các Hệ điều hành đều có lệnh gọi hệ thống Sleep[]. Nếu bạn không biết Cuộc gọi Hệ thống là gì, thì bạn nên.

Chủ Đề