Потоки и сигналы не смешиваются.В Python это даже больше, чем снаружи: сигналы доставляются только в один поток (основной поток);другие темы не получат сообщение.Вы ничего не можете сделать, чтобы прерывать потоки, кроме основного потока.Они находятся вне вашего контроля.
Единственное, что вы можете здесь сделать, это ввести канал связи между основным потоком и любыми запускаемыми вами потоками, используя модуль queue
.Затем вы можете отправить сообщение потоку и заставить его прекратить (или сделать все, что вы хотите), когда оно увидит сообщение.
В качестве альтернативы, и часто это очень хорошая альтернатива, это не использовать потоки.Однако то, что использовать вместо этого, во многом зависит от того, чего вы пытаетесь достичь.