Bonjour à tous,

J'utilise un Timer tel que :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
        static void Main(string[] args)
        {
            Api api = new Api();
            var timer = new System.Threading.Timer(api.checkApiModbus, null, 0, 200);
 
            Thread.Sleep(60000);
        }
 
 
    class Api
    {
        public void checkApiModbus(Object stateInfo)
        {
            Console.WriteLine("check modbusTcp");
            // traitement ...
 
        }
    }
J'ai besoin que l'application ne soit pas bloquée et que dans le cas où le traitement d'un thread ne soit pas terminé, le prochain attend.

En l'état, si un thread est bloqué, les autres continuent à être démarrés toutes les 200ms.

Peut-être dois je me tourner vers une autre classe ?

Merci.