Le code d'abord :
'''this is main structure of my program'''
from twisted.web import http
from twisted.protocols import basic
import threading
threadstop = False #thread trigger,to be done
class MyThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.start()
def run(self):
while True:
if threadstop:
return
dosomething()
'''def some function'''
if __name__ == '__main__':
from twisted.internet import reactor
t = MyThread()
reactor.listenTCP(serverport,myHttpFactory())
reactor.run()
C'est mon premier programme multithread, et je suis heureux qu'il fonctionne comme prévu.Mais je constate maintenant que je ne peux pas le contrôler.Si je l'exécute en avant, Contrôle+C ne peut qu'arrêter le processus principal, et je peux toujours le trouver dans la liste des processus;si je l'exécute en arrière-plan, je dois utiliser kill -9 pid
Et je me demande s'il n'y a pas un moyen de contrôler le processus du sousthread par une variable de déclenchement, ou un meilleur moyen d'arrêter l'ensemble du processus autre que le kill -9
Merci.