Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengendalikan Tamat Masa Fungsi dengan Anggun dalam Python?
Pengendalian Masa Tamat Fungsi dalam Python
Apabila memanggil fungsi yang mungkin dilaksanakan selama-lamanya atau menghadapi masalah yang memerlukan penamatan skrip, mekanisme tamat masa berguna . Dalam Python, kita boleh menggunakan kaedah berikut untuk mengendalikan tamat masa fungsi dengan anggun.
Menggunakan Modul isyarat:
Jika dijalankan pada sistem UNIX, pakej isyarat menyediakan cara untuk mengendalikan tamat masa. Dengan mendaftarkan pengendali tamat masa, kami boleh membatalkan pelaksanaan fungsi jika ia melebihi had masa yang telah ditetapkan. Berikut ialah contoh menggunakan isyarat:
import signal # Register a handler for the timeout def handler(signum, frame): print("Forever is over!") raise Exception("end of time") # Define a potentially long-running function def loop_forever(): import time while 1: print("sec") time.sleep(1) # Set up the signal handler signal.signal(signal.SIGALRM, handler) # Define the timeout duration (in seconds) timeout = 10 signal.alarm(timeout) # Attempt to execute the function try: loop_forever() except Exception as exc: print(exc) # Cancel the timeout after the function completes signal.alarm(0)
Apabila fungsi loop_forever() melebihi tamat masa 10 saat, fungsi pengendali dipanggil, menimbulkan pengecualian yang boleh dikendalikan dalam kod utama.
Nota:
Adalah penting untuk menggunakan modul isyarat dengan berhati-hati. Ia tidak sepenuhnya selamat untuk benang, jadi sebaiknya elakkan menggunakannya dalam aplikasi berbilang benang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Tamat Masa Fungsi dengan Anggun dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!