Hướng dẫn python threading timer restart - khởi động lại bộ đếm thời gian chuỗi 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 ShowShow

  • 1. Tạo ra một đối tượng Timer
  • 2. Hủy đi một timer
  • How to perform threading timer in Python
  • Table of contents
  • Prerequisites
  • Python timer functions
  • Threading module overview
  • Creating and using the timer class
  • Working with Python Decorator
  • Importance of using Threads

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)

How to perform threading timer in Python

Table of contents

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

Prerequisites

Exit
Cafedev

Python timer functions

2. Hủy đi một timer

2. Hủy đi một timer

timer.cancel()

How to perform threading timer in Python

Table of contents


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

Prerequisites

Cancelling timer
Exit

Python timer functions

  • w3school
  • python.org
  • Threading module overview

Creating and using the timer class

  • Working with Python Decorator
  • Importance of using Threads
  • 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.A is running, I do not have to wait for it to complete. Meanwhile, tasks B, C will also be running. When the tasks are running simultaneously, they require multiple CPUs.

Các series tự học lập trình khácseems like multiple tasks are running in parallel, making it useful in event-driven tasks. The thread being lightweight, it requires less memory thereby saving on CPU resources.

How to perform threading timer in Python

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:“threading” class used for code execution after a limited period.

Group Facebook

Table of contents

  • Prerequisites
  • Python timer functions
  • Prerequisites
  • Python timer functions
    • Threading module overview
    • Creating and using the timer class
  • Working with Python Decorator
  • Importance of using Threads
  • Working with Python Decorator
  • Importance of using Threads
  • 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.

Prerequisites

Python timer functions

  • Threading module overview

Python timer functions

Threading module overviewstart() is a function that is used to initialize a timer. To end or quit the timer, one must use a cancel() function. Importing the threading class is necessary for one to use the threading class. The calling thread can be suspended for seconds using the function time.sleep(secs).

  • Creating and using the timer class

Working with Python Decorator

## How class threading.Timer() in python works  
import threading as th  
## Defining a method  
def sctn():  
   print("SECTION FOR LIFE \n")  
S = th.Timer(5.0, sctn)  
S.start()  
print("Exit Program\n")
  • Importance of using Threads

Hướng dẫn python threading timer restart - khởi động lại bộ đếm thời gian chuỗi python

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:

##Illustrating the use of cancel() method in class Timer.  
import threading as th  
## Defining of a method  
def sctn():  
    print("SECTION FOR LIFE \n")  
S = th.Timer(5.0, sctn)  
S.start()  
print("PROGRAM TERMINATION\n")  
S.cancel()
  • 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.PROGRAM TERMINATION is displayed. This is because the object th.Timer gets canceled just before it has executed the “sctn” function.
  • Dưới đây là đầu ra của chương trình trên:

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

Mô-đun luồng mới nhất đi kèm với Python 2.4 hiện tại cung cấp hỗ trợ cấp độ mạnh mẽ và cao hơn nhiều 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ả dưới đây:

  thread.activeCount() − Returns how many thread objects are active.
  thread.currentThread() − Returns how many thread objects in the caller's thread control.
  thread.enumerate() − Returns an overview list of all thread objects that are currently active.

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

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

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

Để sử dụng lớp hẹn giờ, trước tiên chúng tôi sẽ phải nhập mô -đun thời gian. Tham số ARGS luôn được sử dụng tốt nhất để khai báo các đối số cho các chức năng được gọi.args parameter is always preferably used to declare arguments to the functions to be called.

##Timers  
##Execute code at timed intervals  
##Imports and Displays  
import time  
from threading import Timer  
def display(msg):  
    print(msg + ' ' + time.strftime('%H:%M:%S'))  
  
##Basic timer  
def run_once():  
    display('run_once:')  
    t=Timer(10,display,['Timeout:'])  
    t.start()#Here run is called  
run_once()  
##Runs immediately and once  
print('Waiting.....')  
  
##Lets make our timer run in intervals  
##Put it into a class  
##Making it run until we stop it  
##Just getting crazy.Notice We have multiple timers at once!  
class RepeatTimer(Timer):  
    def run(self):  
        while not self.finished.wait(self.interval):  
            self.function(*self.args,**self.kwargs)  
            print(' ')  
##We are now creating a thread timer and controling it  
timer = RepeatTimer(1,display,['Repeating'])  
timer.start() #recalling run  
print('Threading started')  
time.sleep(10)#It gets suspended for the given number of seconds  
print('Threading finishing')  
timer.cancel()
  • Dưới đây là đầu ra:

Làm việc với người trang trí Python

Trong khi làm việc với một người trang trí Python, sẽ biết làm thế nào để mở rộng bộ đếm thời gian Python để nó được tái sử dụng. Tầm quan trọng của việc sử dụng các nhà trang trí là nó được thực hiện một lần và chức năng được tính thời gian mỗi lần.

  • Để bắt đầu, chúng tôi sẽ có bộ đếm thời gian python được gọi trước khi chức năng được trang trí, và sau khi cuộc gọi kết thúc, chấm dứt bộ đếm thời gian 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") 
0

Khi mã được chạy, đầu ra phải là:

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

Tầm quan trọng của việc sử dụng các chủ đề

  • Chủ đề có thể được vận hành đồng thời, các chương trình đa luồng có thể chạy nhanh hơn trên các hệ thống máy tính với một số CPU.
  • Một chương trình có thể tiếp tục đáp ứng với đầu vào. Điều này đúng trên một CPU duy nhất cũng như một số CPU.
  • Chủ đề trong một quá trình có thể chia sẻ bộ nhớ biến toàn cầu. Khi một biến toàn cầu được sửa đổi trong một luồng, nó ảnh hưởng đến tất cả các luồng. Các biến cục bộ cũng có thể tồn tại trong một chủ đề.
  • Xử lý các chủ đề trong một hệ điều hành dễ dàng hơn so với xử lý các quy trình. Kết quả là, đôi khi họ được gọi là các quy trình nhẹ.
  • Nó có thể bị gián đoạn do đó cho phép các quy trình ưu tiên cao.
  • Nó có thể tạm thời bị trì hoãn (đôi khi được gọi là ở chế độ ngủ) trong khi các luồng khác đang chạy - điều này được gọi là năng suất.yielding.

Sự kết luận

Trong bài viết này, chúng tôi đã học được như sau:

  1. Các hàm của Python Timer: Cách sử dụng các hàm như Hủy () để dừng thực thi ngay cả trước khi nó bắt đầu.
  2. Tạo và sử dụng lớp hẹn giờ: Lớp hẹn giờ là một lớp con của luồng lớp
  3. Làm việc với người trang trí Python: Bộ trang trí được sử dụng một lần nhưng chức năng được tính thời gian.

Tận hưởng thời gian chủ đề của bạn.


Đóng góp đánh giá ngang hàng của: Odhiambo Paul