Hvordan behandle man best hukommelser til asynkrone jobs
Hej Eksperter.Jeg har snart arbejdet med C# i 6-7 år, dog er det meste selvlært, så jeg sidder tit med problemer man mulighvis lære og håndtere i lidt mere avanceret klasser.
Jeg sidder dog idag med en af de lette problemer, som virkeligt har været en af mine største problemer i snart 16år i hele min programmerings karriere, jeg har altid prøvet og undgå dette problem med en masse shady kode. så håber nogen kan hjælpe :)
Jeg sidder og er igang med og lave en ret så avanceret multisocket server, der køre på en masse forskellige tråede, som behandler forbindelser til klienter der skal logge på, og sende/modtage data over xmpp protokollen.
det betyder at folk skal kunne behandle opgaver til hver og samme klient på asykron vis (en klient kan bede og flere opgaver på samme tid, og få resultatet fra serveren individuelt).
ud over denne type opgaver, starter dethele selvfølgelig med at klienten starter sit handshake med logindata, som serveren validere.
Altsammen hukommelse som serveren skal holde styr på.
den måde jeg normalt holder styr på alle disse data, er og have en masse boolske værdi'er
isLoggedIn
hasAskedForAuth
hasAskedForUsername
hasAskedForPassword
hasAskedToBeCryptic
askedLoginDate
authedLoginDate
tasksIQ (array)
tasksCompleteIQ (array)
messagesPending (array)
...
også derudaf, det bliver dog hurtigt en masse uoverskuelige data, som i sidste ende kun bliver brugt een gang, og ikke behøver ligge og rode rundt i hukommelsen senere.
så jeg tænkte om der ikke var nogen gode artikler omkring denne type hukommelse, og hvordan man kunne optimere sin egen kode, når man har brug for at bruge dem?
på forhånd tak :)