![]() |
aus liste löschen wenn timer die liste verwendet?
moin,
ich wollte mal fragen wie das ist, wenn ich z.b einen timer habe der alle 500ms ein array überprüft, d.h es durchläuft... wie sieht das da aus wenn ich ber button mal ein item aus dem array lösche? da ein timer ja parallel läuft kann es da sein das ich mal ausversehen etwas aus dem array lösche während der timer gerade darauf zugreift und ihm am ende nachher einitem fehlt(fehler) ? |
Re: aus liste löschen wenn timer die liste verwendet?
Verhindere doch einfach über ein Flag das ein Eintrag gelöscht wird während deine Timer-Funktion aktiv ist.
|
Re: aus liste löschen wenn timer die liste verwendet?
hi sharky, der time rist abe rimmer aktiv..
ich schreibe gerade einen irc server und ich weiss nicht wie ich den PING?..PONG! kram hinkriegen soll... ich hab es bis jetzt so das jeder user einen eigenen timer hat, der wenn er aktiv ist nach einer bestimmtem zeit (wenn vorher kein pong vom client gesendet wurde) die verbindung schliesst. der server hat dann auch noch einen timer, der jede sekunde eine liste überprüft die so aussieht: Timer - Ticks timer ist dabei ein pointer auf den entsprechenden timer, er wird aktiviert sobald ticks 30000ms unter der aktuellen zeit ist... wenn ich den user dann disconnectet hab und aus dem array draussen, muss ich ihn ja auch noch aus dieser liste löschen, nur wenn der timer gerade drauf zugreift könnte das ja vielleicht fehler erzeugen....hm |
Re: aus liste löschen wenn timer die liste verwendet?
Guck dir doch mal den Source der Indy IRC Server Komponente an. Vieleicht hilft dir das.
|
Re: aus liste löschen wenn timer die liste verwendet?
ne, da wird nur das on PING/PONG event abgefragt, code dafür ist nicht drin.
meine Frage ist eigentlich: Sagen wir mal ich habe eine stringlist mit 1000 Einträgen, diese Liste durchlaufe ich per Timer alle 5 Sekunden, so, nun habe ich aber noch einen button auf meiner form, wenn ich diesen anklicke wird Item-500 aus der liste entfernt! was ist nun aber wenn ich das item gerade dann entferne, während der Timer die liste durchläuft? dann stimmt doch der index nichtmehr oder? oder wird das irgendwie synchronisiert? |
Re: aus liste löschen wenn timer die liste verwendet?
Zitat:
Anders siehts natürlich aus, wenn du das ganze in zwei verschiedenen Threads ablaufen lässt. Da musst du Zugriffe auf gemeinsam benutzten Speicher synchronisieren. |
Re: aus liste löschen wenn timer die liste verwendet?
vielen dank :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz