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 Show
Nội dung chính
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 Timer2. Hủy đi một timer
Syntax for creating Timer object Methods of Timer class
start() method
cancel() method 2. Hủy đi một timer2. Hủy đi một timer
Syntax for creating Timer object Methods of Timer class
start() method
cancel() method
Introduction to Python Threading Timer
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.
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
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 objectKế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 classDưới đây là đoạn chương trình Python mô tả cách hủy đi một (đối tượng) timer start() methodNguồn và Tài liệu tiếng anh tham khảo: cancel() methodgeeksforgeeks Time for an ExampleDướ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 thiChươ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 PythonBộ đế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 pythonChú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)
Ở đâ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 pythonSau đây là các ví dụ khác nhau của bộ đếm thời gian luồn python. Ví dụ 1Hã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 Trường hợp 2: Chương trình thoát 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í dụ #2Bâ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 Trường hợp 2: Chương trình thoát 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ụ #3Code: ## 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 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à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 - |