Tamamasa pada Panggilan Fungsi
Apabila menggunakan fungsi dalam Python yang boleh menghentikan pelaksanaan skrip selama-lamanya, ia menjadi perlu untuk mewujudkan mekanisme untuk mencegahnya. Penyelesaiannya terletak pada menetapkan ambang tamat masa selepas itu skrip akan campur tangan dan menamatkan fungsi.
Menggunakan Pakej Isyarat
Untuk sistem berasaskan UNIX, pakej isyarat menawarkan penyelesaian yang mantap. Untuk menggunakannya:
Berikut ialah contoh ilustrasi:
import signal # Handler function def handler(signum, frame): print("Timeout reached!") raise Exception("Timeout exception") # Function that may stall indefinitely def loop_forever(): while True: print("Looping") # Pause execution for 1 second time.sleep(1) # Set timeout to 5 seconds signal.alarm(5) signal.signal(signal.SIGALRM, handler) try: loop_forever() except Exception as exc: print("Exception:", exc)
Jika fungsi loop_forever() gagal diselesaikan dalam masa 5 saat, fungsi pengendali akan digunakan, meningkatkan pengecualian tamat masa dan menamatkan proses.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Menghentikan Fungsi Python Selama-lamanya dengan Tamat Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!