Hướng dẫn python timer cancel - hủy hẹn giờ python

Tuy nhiên, khoảng thời gian được khởi tạo cho timer có thể sẽ không phải là 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 thread tương ứng của timer object là trách nhiệm của thread scheduler – trình lập lịch cho các luồng

Nội dung chính

  • 1. Tạo ra một đối tượng Timer
  • 2. Hủy đi một timer
  • Syntax for creating Timer object
  • Methods of Timer class
  • start() method
  • cancel() method
  • Time for an Example
  • Introduction to Python Threading Timer
  • Syntax of Python Threading Timer
  • Examples of Python Threading Timer
  • Recommended Articles

Timer là một sub-class (lớp con) của class Thread được định nghĩa trong Python. Nó được khởi động bằng cách gọi đến hàm start() tương ứng với timer.

1. Tạo ra một đối tượng Timer

2. Hủy đi một timer

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

Syntax for creating Timer object

Methods of Timer class

# -----------------------------------------------------------
#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") 

start() method

Exit
Cafedev

cancel() method

2. Hủy đi một timer

2. Hủy đi một timer

timer.cancel()

Syntax for creating Timer object

Methods of Timer class


# 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") 

start() method

Cancelling timer
Exit

cancel() method

  • w3school
  • python.org
  • Time for an Example

Introduction to Python Threading Timer

  • Syntax of Python Threading Timer
  • Examples of Python Threading Timer
  • Recommended Articles

Timer là một sub-class (lớp con) của class Thread được định nghĩa trong Python. Nó được khởi động bằng cách gọi đến hàm start() tương ứng với timer.

  • Cú pháp:
  • Cú pháp trên sẽ tạo ra một timer, timer này sẽ khởi chạy hàm function với các đối số args và các đối số từ khóa (keyword arguments) kwargs, sau khi khoảng thời gian interval (đơn vị thời gian ở đây được dùng là giây) đã trôi qua. Nếu args là None (chính à 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à None (chính là giá trị mặc định của nó), thì một từ điển trống (empty dict) sẽ được sử dụng.
  • Dưới đây là đoạn chương trình Python mô tả cách sử dụng timer objects trong Python:
  • Kết quả in ra là:
  • 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.
  • Câu lệnh này sẽ dừng timer lại, và hủy việc thực thi  hành động mà timer này đang thực hiện. Câu lệnh này sẽ chỉ làm việc nếu timer vẫn đang ở trong waiting stage – giai đoạn chờ đợi.
  • Dưới đây là đoạn chương trình Python mô tả cách hủy đi một (đối tượng) timer
  • Nguồn và Tài liệu tiếng anh tham khảo:

geeksforgeeks

Tài liệu từ cafedev:

Full series tự học Python từ cơ bản tới nâng cao tại đây nha.

Ebook về python tại đây.

Các series tự học lập trình khác

//Code

Nếu bạn 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:

Group Facebook

FanpageDec 21, 2014 at 23:35

Youtubehnvasa

Instagram4 gold badges12 silver badges26 bronze badges

0

Twitter objects are created using Timer class which is a subclass of the Thread class. Using this class we can set a delay on any action that should be run only after a certain amount of time has passed(timer) and can easily be cancelled during that delay.

Nội dung chính

  • Syntax for creating Timer object
  • Methods of Timer class
  • start() method
  • cancel() method
  • Time for an Example
  • Introduction to Python Threading Timer
  • Syntax of Python Threading Timer
  • Examples of Python Threading Timer
  • Recommended Articles
  • Timer là một sub-class (lớp con) của class Thread được định nghĩa trong Python. Nó được khởi động bằng cách gọi đến hàm start() tương ứng với timer.

Cú pháp:

Cú pháp trên sẽ tạo ra một timer, timer này sẽ khởi chạy hàm function với các đối số args và các đối số từ khóa (keyword arguments) kwargs, sau khi khoảng thời gian interval (đơn vị thời gian ở đây được dùng là giây) đã trôi qua. Nếu args là None (chính à 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à None (chính là giá trị mặc định của nó), thì một từ điển trống (empty dict) sẽ được sử dụng.

Dưới đây là đoạn chương trình Python mô tả cách sử dụng timer objects trong Python:

Syntax for creating Timer object

Kết quả in ra là:

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.

Câu lệnh này sẽ dừng timer lại, và hủy việc thực thi  hành động mà timer này đang thực hiện. Câu lệnh này sẽ chỉ làm việc nếu timer vẫn đang ở trong waiting stage – giai đoạn chờ đợi.function with arguments args and keyword arguments kwargs, after interval seconds have passed.

Methods of Timer class

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


start() method

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


cancel() method

geeksforgeeks

Time for an Example

Dưới đây chúng tôi có một ví dụ đơn giản trong đó chúng tôi tạo một đối tượng hẹn giờ và bắt đầu nó.

Nhập luồng DEF Nhiệm vụ (): In ("Nhập tác nhiệm vụ đối tượng ...") Thực thi

Chương trình trên là một chương trình đơn giản, giờ đây chúng ta hãy sử dụng phương thức Hủy để hủy thực thi tác vụ đối tượng Timer.

Trong chương trình ở trên, lần đầu tiên nhận xét mã trên dòng số 13 và 14 và chạy chương trình, sau đó không đưa ra các dòng đó và xem phương thức hủy () hoạt động.

Giới thiệu về bộ đếm thời gian xâu chuỗi Python

Bộ đếm thời gian là một lớp công ty con có trong thư viện Python có tên là Thread Threading, thường được sử dụng để chạy mã sau một khoảng thời gian quy định. Python từ luồng.Timer () bắt đầu sau khi độ trễ được chỉ định là đối số trong luồng. Bản thân lớp hẹn giờ và do đó trì hoãn việc thực hiện hoạt động tiếp theo theo cùng một thời gian. Threading.Timer () lớp cần được bắt đầu một cách rõ ràng bằng cách sử dụng hàm start () tương ứng với đối tượng Threading.Timer (). Nó cũng có thể được dừng ngay cả trước khi nó bắt đầu thực thi bằng cách sử dụng hàm hủy () tương ứng với đối tượng renthering.timer ().

Cú pháp của bộ đếm thời gian xâu chuỗi python

Chúng ta cần nhập thư viện Python, chủ đề trực tuyến để sử dụng chức năng Time Timer được chỉ định trong đó.

nhập luồng như th

Ở đây, chúng tôi đã chỉ định một tên ngắn cho thư viện bằng cách tạo một bí danh cho cùng một từ khóa As As As. Nói tóm lại, bí danh Thư viện Python cho chúng ta khả năng sử dụng ký hiệu tốc ký này để gọi lớp Timer () là:

th.Timer()

thay vì

threading.Timer()

Hẹn giờ () được phân loại được chỉ định với nhiều đối số, trong đó thời lượng độ trễ / khoảng thời gian và hàm tương ứng cần được trì hoãn là những điều quan trọng.

T = th.timer & nbsp; (thời lượng trễ, & nbsp; function, & nbsp; args = none, kwargs = none)

  • Độ trễ thời lượng trong khoảng thời gian & nbsp; tính bằng giây & nbsp; trong đó hàm được chỉ định cần phải bị trì hoãn.
  • Hàm & nbsp; là hàm được chỉ định cần phải bị trì hoãn.
  • Một danh sách trống sẽ được sử dụng theo mặc định nếu Args không có.
  • Một dict trống sẽ được sử dụng theo mặc định nếu kwargs không có.

Ở đây chúng tôi đang tạo một đối tượng hẹn giờ có tên là Tiên, có thể được nêu rõ ràng bằng cách sử dụng.

T.start()

Nó cũng có thể được dừng ngay cả trước khi nó bắt đầu thực thi bằng cách sử dụng hàm hủy () tương ứng với đối tượng bộ hẹn giờ này.

T.cancel()

Ví dụ về bộ đếm thời gian xâu chuỗi python

Sau đây là các ví dụ khác nhau của bộ đếm thời gian luồn python.

Ví dụ 1

Hãy để cố gắng hiểu hoạt động của nó với sự trợ giúp của ví dụ dưới đây:

Code:

## Chương trình để chứng minh việc sử dụng lớp Threading.Timer () trong luồng nhập python như là ## tạo hàm def prnt (): print ("edu cba \ n") t = th.timer (3.0, prnt) t .bắt đầu()

in ("Chương trình thoát \ n"))

Đầu ra:

Trường hợp 1:

Chương trình Thoát EDU CBA
Exit Program

Trường hợp 2:

Chương trình thoát EDU CBA
EDU CBA

Mặc dù chức năng của PRNT, đang được gọi ngay cả trước khi chúng tôi in văn bản chương trình thoát ra, nhưng vẫn có thể thay đổi vì nó phụ thuộc vào nhiều yếu tố.

  • Vì chúng tôi đã sử dụng Timer () ở đây, sẽ gọi hàm PRNT của PRNT sau 3.0 giây khi chúng tôi đã bắt đầu rõ ràng đối tượng hẹn giờ.
  • Nếu chương trình mất hơn 3,0 giây từ t.start () cho đến khi in (chương trình thoát \ n,), thì chúng tôi sẽ nhận được đầu ra theo trường hợp 1.
  • Nếu không, đầu ra sẽ theo trường hợp 2.

Ví dụ #2

Bây giờ, hãy để thảo luận về tầm quan trọng của chức năng hủy có sẵn trong lớp hẹn giờ với sự trợ giúp của ví dụ dưới đây:

Giả sử chúng ta muốn hủy bỏ chức năng bị trì hoãn trong thời gian này, nếu trong trường hợp điều khiển đạt đến cuối chương trình trước thời gian trễ được chỉ định đó (3.0 giây), một khi bộ đếm thời gian đã được bắt đầu [T.start ()] , sau đó chúng ta có thể đặt câu lệnh dưới đây vào cuối chương trình.

T.cancel()

Hoặc nếu không, nếu chương trình mất nhiều hơn thời gian trễ được chỉ định (tức là 3 giây trong trường hợp này), thì câu lệnh Hủy sẽ hoạt động như một câu lệnh dư thừa. Lý do là, hàm bị trì hoãn đã được thực thi cho đến khi điều khiển đạt đến chức năng t.cancel ().

Code:

Hãy cố gắng thực hiện chương trình bên dưới: ## Chương trình để chứng minh chức năng sử dụng Hủy () trong lớp Nhập lớp Timer dưới dạng ## tạo hàm def prnt (): print ("edu cba \ n") t = th.timer (3.0, prnt) t.start () in ("Chương trình thoát \ n")

T.Cancel ()

Output:

Trường hợp 1:

Chương trình Thoát EDU CBA
Exit Program

Trường hợp 2:

Chương trình thoát EDU CBA
EDU CBA

Mặc dù chức năng của PRNT, đang được gọi ngay cả trước khi chúng tôi in văn bản chương trình thoát ra, nhưng vẫn có thể thay đổi vì nó phụ thuộc vào nhiều yếu tố.

Vì chúng tôi đã sử dụng Timer () ở đây, sẽ gọi hàm PRNT của PRNT sau 3.0 giây khi chúng tôi đã bắt đầu rõ ràng đối tượng hẹn giờ.

Nếu chương trình mất hơn 3,0 giây từ t.start () cho đến khi in (chương trình thoát \ n,), thì chúng tôi sẽ nhận được đầu ra theo trường hợp 1.

Nếu không, đầu ra sẽ theo trường hợp 2.

Ví dụ #2

in ("Chương trình thoát \ n"))

Trường hợp 1 là khả thi khi việc kiểm soát chương trình mất nhiều hơn thời gian trễ được chỉ định (3.0 giây) để đạt được câu lệnh bên dưới, một khi bộ hẹn giờ đã được bắt đầu [T.start ()]

T.cancel()

Trường hợp 2 là khả thi khi việc kiểm soát chương trình mất nhiều hơn thời gian trễ được chỉ định (3.0 giây) để đạt được câu lệnh bên dưới nhưng thực hiện bản in (Chương trình thoát ra Khi bộ hẹn giờ đã được bắt đầu [T.start ()]

T.cancel()

Trường hợp 4 là khả thi khi việc kiểm soát chương trình đạt đến và thực thi hàm & nbsp; heas () & nbsp; trước thời gian trễ được chỉ định đó (3.0 giây) sau khi bộ hẹn giờ được bắt đầu [t.start ()]

T.cancel()

Trong trường hợp này, đối tượng hẹn giờ sẽ bị hủy ngay cả trước khi nó thực hiện chức năng của PRNT.

Ví dụ #3

Code:

## Chương trình để chứng minh hàm if () hủy bỏ hàm start () hoặc chính đối tượng đồng hồ tính (3.0, prnt) t.cancel () t.start ()

in ("Chương trình thoát \ n"))

Output:

Trường hợp 1:

Chương trình thoát EDU CBA
EDU CBA

Trường hợp 2:

Thoát chương trình

Trong ví dụ này, chúng tôi đã đặt t.cancel () ngay cả trước khi chúng tôi gọi rõ ràng đối tượng hẹn giờ bằng cách sử dụng câu lệnh bên dưới.

T.start()

Câu hỏi ở đây là, một đối tượng Hẹn giờ bị hủy () có thể được gọi bằng cách sử dụng hàm start () không? Bạn nghĩ sao? Câu trả lời là không !!! Khi đối tượng bị hủy. Nó không thể được bắt đầu. Do đó, đầu ra sẽ theo trường hợp 2.

Sự kết luận

  • Bộ đếm thời gian là một lớp công ty con có trong thư viện Python có tên là Thread Threading, thường được sử dụng để chạy mã sau một khoảng thời gian quy định.
  • Lớp Timer () cần được bắt đầu rõ ràng bằng cách sử dụng hàm start () tương ứng với đối tượng renthering.timer ().
  • Nó cũng có thể được dừng ngay cả trước khi nó bắt đầu thực thi bằng cách sử dụng hàm hủy () tương ứng với đối tượng renthering.timer ().

Bài viết đề xuất

Đây là một hướng dẫn để hẹn giờ xâu chuỗi python. Ở đây chúng tôi thảo luận về phần giới thiệu về bộ hẹn giờ của Python cùng với các ví dụ và triển khai mã khác nhau. & NBSP; Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm -