Richard S.
- Forum-Beiträge: 5
31.01.2013, 12:03:50 via Website
31.01.2013 12:03:50 via Website
Hallo,
ich habe ein echt komisches Problem. Erstmal kurz zum Thema. Ich schreibe eine Anwendung die mit einen TCP Server kommuniziert. Die Verbindung wird (dauerhaft) gehalten. Natürlich gibt es Momente wie kein Netz, kein Wlan etc. wo die Verbindung getrennt wird. Ist dies der Fall, warte ich einen kurzen Moment und überprüfe danach wieder ob ich eine neue Verbindung aufbauen kann.
Jetzt zu meinen Problem. Es ist dieser kurze Moment ... Ich starte einen Service und in der onStartCommand() Methode initialisiere ich ein Thread der die ganze Kommunikation abdeckt mit einer Schleife. Wenn die Verbindung verloren geht, mache ich ein einfaches Thread.Sleep für eine Minute und danach geht es wieder los. Diese eine Minute wird aber nicht eingehalten. Der Thread schläft manchmal zwischen 20 - 50 Minuten bevor er die Arbeit wieder aufnimmt ??? Wenn ich die Prozesspriorität vom Thread auf Max setzte ist die Wartezeit zwischen 1- 15 Minuten.
Warum funktioniert das Sleep für eine Minute nicht? Das ein Sleep nicht 100%ig genau ist, ist mir schon klar - aber gleich paar Minuten !?!?!
Muss ich den Service anders konfigurieren ....
Ich denke, dass hier das OS den Service komplett vernachlässigt.
ich habe ein echt komisches Problem. Erstmal kurz zum Thema. Ich schreibe eine Anwendung die mit einen TCP Server kommuniziert. Die Verbindung wird (dauerhaft) gehalten. Natürlich gibt es Momente wie kein Netz, kein Wlan etc. wo die Verbindung getrennt wird. Ist dies der Fall, warte ich einen kurzen Moment und überprüfe danach wieder ob ich eine neue Verbindung aufbauen kann.
Jetzt zu meinen Problem. Es ist dieser kurze Moment ... Ich starte einen Service und in der onStartCommand() Methode initialisiere ich ein Thread der die ganze Kommunikation abdeckt mit einer Schleife. Wenn die Verbindung verloren geht, mache ich ein einfaches Thread.Sleep für eine Minute und danach geht es wieder los. Diese eine Minute wird aber nicht eingehalten. Der Thread schläft manchmal zwischen 20 - 50 Minuten bevor er die Arbeit wieder aufnimmt ??? Wenn ich die Prozesspriorität vom Thread auf Max setzte ist die Wartezeit zwischen 1- 15 Minuten.
Warum funktioniert das Sleep für eine Minute nicht? Das ein Sleep nicht 100%ig genau ist, ist mir schon klar - aber gleich paar Minuten !?!?!
Muss ich den Service anders konfigurieren ....
Ich denke, dass hier das OS den Service komplett vernachlässigt.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.