Mam swój główny wątek aplikacji, który spawnuje 2 wątki i łapię SIGINT w moim głównym wątku, aby je ładnie zamknąć. Na Linuksie używam signal.pause()
i działa idealnie.Python: signal.pause() odpowiednik w systemie Windows
Jaki jest najlepszy sposób wdrożenia signal.pause() w systemie Windows?
Moje rozwiązanie jest brzydki:
my_queue.get(True, averylongtime)
I umieścić coś w my_queue w moim obsługi sygnału. Zwróć uwagę, że jeśli nie określę limitu czasu, SIGINT nie zostanie przechwycony. Ale zastanawiam się, czy istnieje lepsze rozwiązanie.
Dziękuję
W jaki sposób generujesz SIGINT? Jeśli jest to tylko + C z klawiatury, możesz wpaść w klawiaturę KeyboardInterrupt. W przeciwnym razie może to być przypadek podniesienia zdarzenia Win32. –
cdarke