J'ai essayé de modifier une application développée par d'autres dans le passé ...Threading ... Démarrer/suspendre ..set/reset
cette application ne trading en ligne (en utilisant api développé pour C#) .. donc fondamentalement j'ai la structure de l'application où je définis quelques paramètres de configuration que l'utilisateur peut vérifier ou décocher et il y a bouton de démarrage et d'arrêt
en cliquant sur le bouton de démarrage .. je crée un fil en passant la fonction qui fera tout le singe et d'autres choses et l'assigner à la classe principale
betbot _mybot = this; # mybot is form class
this.main_thread = new Thread(new ThreadStart(_mybot.aping_function);
this.main_thread.Start();
et cliquant sur le bouton d'arrêt ,,, app est suspendait simplement le fil
this.main_thread.Suspend()
maintenant les arrêts app et seule façon de reprendre la fonction d'application (singerie) est à appuyer sur le bouton de démarrage et relancer fil ..
en tant que nouvelle fonctionnalité, je veux ce thread pour arrêter et redémarrer automatiquement ..every temps il frappe certaine perte d'arrêt et recommencer ... mais je ne pouvais le faire
ce que j'ai fatigué est ManualResetEvent comme suivant
private static ManualResetEvent mrse = new ManualResetEvent(true);
lorsque certains événement correspond à la méthode de aping_function je fais mrse.reset() et mrse.set() .. mais qui semble avoir pas d'effet (pas redémarrer complètement)
if (stop_loss_condition_met)
{
this.Print1("Bot Is stopped Automatically");
mrse.Reset();
this.Print1("Bot Is re-started Automatically");
mrse.Set();
}
Comment puis-je parvenir
Donc, j'ai côté mon aping_function je crée un while (true) {mrse.WaitOne() et puis à l'intérieur de ma condition if si je vais faire mrse.reset() et mrse.set() dans le même ordre que ..next. Suivant ... le thread s'arrêtera là et redémarrera à partir de WaitOne line..right? – MrPandav
Oui, vous avez raison –