Pemasa.Pemasa - Mengekalkan Kawalan ke atas Fungsi Berulang
Pemasa.Pemasa Python menyediakan mekanisme untuk menjadualkan fungsi untuk dijalankan pada selang masa tertentu. Walau bagaimanapun, pendekatan awal menggunakan berbilang panggilan untuk memulakan() boleh membawa kepada ralat masa jalan.
Untuk menyelesaikan isu ini, adalah disyorkan untuk membuat kelas urutan tersuai, seperti yang ditunjukkan dalam penyelesaian di bawah:
import threading class MyThread(threading.Thread): def __init__(self, event, function): threading.Thread.__init__(self) self.stopped = event self.function = function def run(self): while not self.stopped.wait(0.5): self.function()
Dalam kelas ini, acara yang dihentikan digunakan untuk mengawal pelaksanaan utas. Daripada memulakan dan menghentikan pemasa beberapa kali, utas akan berjalan secara berterusan, menyemak acara yang dihentikan pada selang masa yang tetap. Apabila acara ditetapkan, urutan ditamatkan.
Dalam kod yang memulakan pemasa, anda kemudiannya boleh menggunakan acara yang dihentikan untuk menghentikan pemasa:
stopFlag = threading.Event() thread = MyThread(stopFlag, function) thread.start() # To stop the timer later on stopFlag.set()
Pendekatan ini menyediakan bersih dan cara yang cekap untuk memulakan, menghentikan dan menetapkan semula pemasa, membolehkan kawalan fleksibel ke atas pelaksanaan fungsi berulang.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Kawalan Ke Atas Mengulang Fungsi Menggunakan Python's Threading.Timer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!