Hẹn giờ khoảng thời gian python

bộ định thời khoảng thời gian là một gói Python cho phép lặp qua một chuỗi các khoảng thời gian thông thường với độ chính xác cao

Cài đặt

Cài đặt từ PyPI qua

pip install interval-timer

Cách sử dụng

Cách sử dụng cơ bản như sau

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...

đầu ra

Interval(index=0, time=0.000, lag=0.000)
Interval(index=1, time=0.500, lag=0.000)
Interval(index=2, time=1.000, lag=0.000)
...

Để biết thêm ví dụ sử dụng, hãy xem ví dụ/

Sự miêu tả

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
5 là một đối tượng lặp trả về các đối tượng
from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
6 theo các khoảng thời gian đều đặn. Sau đó, mã có thể được thực thi theo từng khoảng thời gian và các khoảng thời gian sẽ được đồng bộ hóa ngay cả khi thời gian thực thi mã khác không

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
5 là sự thay thế chính xác hơn cho một vòng lặp có chứa hàng đợi. Đoạn mã sau

from time import sleep

# Iterates approximately every half second
for i in range(5):
    print(i)
    sleep(0.5)

có thể được thay thế bằng

from interval_timer import IntervalTimer

# Iterates exactly every half second
for interval in IntervalTimer(0.5, stop=5):
    print(interval)

bộ hẹn giờ ngắt quãng sử dụng dưới mui xe để có được thời gian chính xác cao. Nó sẽ không bị trôi trong thời gian dài

Nếu một lần lặp khoảng thời gian bị trì hoãn do thực thi mã chậm, thì các khoảng thời gian trong tương lai sẽ vẫn được đồng bộ hóa theo thời gian tuyệt đối nếu chúng có thời gian để bắt kịp. Người gọi có thể xem liệu đồng bộ hóa có bị mất tạm thời hay không bằng cách kiểm tra xem thuộc tính ________ 19 của đối tượng ________ 16 có trả về giá trị khác 0 hay không (xem độ trễ. ví dụ py)

Tuy nhiên, khoảng thời gian được khởi động cho bộ hẹn giờ có thể sẽ không phải là thời điểm tức thời, khi hành động thực sự được thực hiện bởi trình thông dịch, bởi vì việc thực sự lập lịch cho chủ đề tương ứng của đối tượng hẹn giờ là trách nhiệm.

Nội dung chính Hiển thị

Timer is an sub-class (layer con) of class Thread was known in Python. Nó được khởi động bằng cách gọi hàm start() tương ứng với bộ đếm thời gian

1. Create a Timer Objects

cú pháp

threading.Timer(interval, function, args = None, kwargs = None)

Cú pháp trên sẽ tạo ra một bộ đếm thời gian, bộ đếm thời gian này sẽ khởi động chức năng hàm với các đối số args và các đối số từ khóa (đối số từ khóa) kwargs, after time interval (đơn vị thời gian ở đây được sử dụng là giây) . If args is None (chính là giá trị mặc định của nó), thì một danh sách trống (empty list) sẽ được sử dụng. Nếu kwargs là Không có (chính là giá trị mặc định của nó), thì một từ điển trống (chính tả trống) sẽ được sử dụng

Dưới đây là đoạn chương trình Python mô tả cách sử dụng các đối tượng hẹn giờ trong Python

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------

# Program to demonstrate 
# timer objects in python 
  
import threading 
def gfg(): 
    print("Cafedev\n") 
  
timer = threading.Timer(2.0, gfg) 
timer.start() 
print("Exit\n") 

Kết quả trong ra là

Exit
Cafedev

Giải thích. Đoạn chương trình trên sẽ lập lịch cho hàm gfg() chạy sau khoảng thời gian là 5 giây, kể từ khi hàm start() được gọi

2. Hủy bỏ hẹn giờ

cú pháp

________số 8

Câu lệnh này sẽ dừng hẹn giờ lại và hủy bỏ việc thực thi hành động mà bộ hẹn giờ này đang thực hiện. Câu lệnh này sẽ chỉ làm việc nếu bộ đếm thời gian vẫn đang ở trong giai đoạn chờ đợi – giai đoạn chờ đợi

Dưới đây là đoạn chương trình Python mô tả cách hủy bỏ một bộ đếm thời gian (đối tượng)


# Program to cancel the timer 
import threading 
  
def gfg(): 
    print("GeeksforGeeks\n") 
  
timer = threading.Timer(5.0, gfg) 
timer.start() 
print("Cancelling timer\n") 
timer.cancel() 
print("Exit\n") 

Kết quả trong ra là

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
0

Nguồn và Tài liệu tiếng anh tham khảo

  • w3school
  • con trăn. tổ chức
  • chuyên viên máy tính

Tài liệu từ cafedev

  • Trọn bộ tự học Python từ cơ bản tăng cao tại đây nha
  • Ebook về python tại đây
  • Các chuỗi tự học lập trình khác nhau

Nếu thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa

  • Nhóm Facebook
  • trang chủ
  • YouTube
  • Instagram
  • Twitter
  • liên kết
  • Pinterest
  • Trang chủ

Chào thân ái và quyết thắng

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you

Luồng cho phép nhiều tác vụ chạy đồng thời. Ví dụ, khi tác vụ A đang chạy, tôi không phải đợi nó hoàn thành. Trong khi đó, nhiệm vụ B, C cũng sẽ được chạy. Khi các tác vụ đang chạy đồng thời, chúng yêu cầu nhiều CPU

Để chạy các luồng đồng thời, Python sử dụng một kỹ thuật được gọi là chuyển đổi tác vụ. Kết quả là Python chuyển đổi nhanh chóng giữa từng tác vụ. Làm cho có vẻ như nhiều tác vụ đang chạy song song, làm cho nó hữu ích trong các tác vụ hướng sự kiện. Chủ đề nhẹ, nó yêu cầu ít bộ nhớ hơn do đó tiết kiệm tài nguyên CPU

Cách thực hiện bộ hẹn giờ luồng trong Python

Một luồng có một mục nhập, một thực thi và một điểm thoát. Thư viện Python chứa bộ đếm thời gian, một lớp con của lớp “luồng” được sử dụng để thực thi mã sau một khoảng thời gian giới hạn

Luồng trong Python Timer() bắt đầu sau độ trễ được xác định là đối số. Do đó, lớp Timer gọi chính nó trì hoãn việc thực hiện thao tác sau trong cùng một khoảng thời gian được chỉ định

Mục lục

  • Cách thực hiện bộ hẹn giờ luồng trong Python
  • Mục lục
  • điều kiện tiên quyết
  • Chức năng hẹn giờ Python
    • Ví dụ #1
    • Trường hợp #2
  • Tổng quan về mô-đun luồng
  • Tạo và sử dụng lớp hẹn giờ
  • Làm việc với Python Decorator
  • Tầm quan trọng của việc sử dụng Chủ đề
  • Phần kết luận

điều kiện tiên quyết

Để làm theo, người đọc sẽ cần những điều sau đây

  • Một số kiến ​​thức cơ bản về Python. Bạn có thể tham khảo bài viết này hướng dẫn người mới bắt đầu với python để bắt đầu với Python

Chức năng hẹn giờ Python

Sau mỗi số giây được chỉ định, hàm lớp hẹn giờ được gọi. start() là một chức năng được sử dụng để khởi tạo bộ đếm thời gian. Để kết thúc hoặc thoát bộ đếm thời gian, người ta phải sử dụng hàm hủy (). Nhập lớp luồng là cần thiết để một người sử dụng lớp luồng. Chuỗi cuộc gọi có thể bị treo trong vài giây bằng cách sử dụng thời gian chức năng. ngủ (giây)

  • Để hiểu rõ hơn về điều này, tôi sẽ minh họa nó bằng cách sử dụng một đoạn mã và cả thông báo đầu ra dự kiến ​​của một ảnh chụp màn hình

trường hợp 1

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
1
  • Sau khi mã được chạy, phải mất năm phút để hiển thị
    # -----------------------------------------------------------
    #Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
    #@author cafedevn
    #Contact: 
    #Fanpage: https://www.facebook.com/cafedevn
    #Group: https://www.facebook.com/groups/cafedev.vn/
    #Instagram: https://instagram.com/cafedevn
    #Twitter: https://twitter.com/CafedeVn
    #Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
    #Pinterest: https://www.pinterest.com/cafedevvn/
    #YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
    # -----------------------------------------------------------
    
    # Program to demonstrate 
    # timer objects in python 
      
    import threading 
    def gfg(): 
        print("Cafedev\n") 
      
    timer = threading.Timer(2.0, gfg) 
    timer.start() 
    print("Exit\n") 
    
    2 dưới dạng đầu ra

Tổng quan về mô-đun luồng

Mô-đun luồng mới nhất có trong Python 2 hiện tại. 4 cung cấp hỗ trợ cấp cao hơn và mạnh mẽ hơn cho các luồng so với mô-đun luồng trước đó

Mô-đun luồng hiển thị tất cả các phương thức của mô-đun luồng và cung cấp một số chức năng bổ sung như được mô tả bên dưới

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
3

Tạo và sử dụng lớp hẹn giờ

Cái hay của phân luồng là bạn có thể yêu cầu máy tính thực hiện một tác vụ vào lúc khác hoặc thực hiện đồng thời. Bạn cũng có thể thực thi mã đồng thời trên các luồng khác nhau, làm cho nó cực kỳ mạnh mẽ. Một lớp hẹn giờ luôn chạy trong khoảng thời gian

Lớp Python Timer được sử dụng để thực hiện một thao tác hoặc chạy một hàm sau một khoảng thời gian xác định đã trôi qua. Lớp luồng có một lớp con được gọi là lớp hẹn giờ. Về mặt kỹ thuật, chúng ta sẽ tạo các đối tượng Timer khi chúng ta cần các hành động (phương thức) có giới hạn thời gian, về mặt kỹ thuật

Để sử dụng lớp Timer, trước tiên chúng ta sẽ phải nhập mô-đun thời gian. Tham số args luôn được ưu tiên sử dụng để khai báo các đối số cho các hàm được gọi

from interval_timer import IntervalTimer

for interval in IntervalTimer(0.5):
    print(interval)
    
    # Execute code exactly every half second here
    ...
4
  • Dưới đây là đầu ra

Hướng dẫn python threading timer

Làm việc với Python Decorator

Khi làm việc với trình trang trí Python, sẽ biết cách mở rộng Bộ hẹn giờ Python để nó được sử dụng lại. Tầm quan trọng của việc sử dụng các bộ trang trí là nó được triển khai một lần và chức năng được hẹn giờ mỗi lần