SideShow
Legacy Member
Hallo
Ik heb een object (een soort database) die nogal veel bewerkingen doet in een bestand op mijn schijf.
Ik wil niet in elke methode van dat object een using zetten die dan die stream gaat openen, want dit veroorzaakt vertraging. Het gaat over honderden read/writes per seconde, ik zou dit met een factor willen opdrijven...
Nu is de vraag: sluit ik mijn stream in een destructor, of sluit ik de stream in mijn dispose methode? En als ik dan IDispose implementeer in mijn database-object, moet ik dan elk programma of class die het database object aanroept, ook IDisposable maken? Dat zou me niet logisch lijken? De stream moet gewoon open blijven vanaf dat het object wordt geïnitialiseerd...
Voor de geïnteresseerden: voor de hobby ben ik een search tree aan het schrijven, disk implementatie. Een applicatie voert constant db.Add(key, value) methodes uit op het tree object. Als me dit een beetje deftig gelukt is, start ik aan de b-tree
Ik heb een object (een soort database) die nogal veel bewerkingen doet in een bestand op mijn schijf.
Ik wil niet in elke methode van dat object een using zetten die dan die stream gaat openen, want dit veroorzaakt vertraging. Het gaat over honderden read/writes per seconde, ik zou dit met een factor willen opdrijven...
Nu is de vraag: sluit ik mijn stream in een destructor, of sluit ik de stream in mijn dispose methode? En als ik dan IDispose implementeer in mijn database-object, moet ik dan elk programma of class die het database object aanroept, ook IDisposable maken? Dat zou me niet logisch lijken? De stream moet gewoon open blijven vanaf dat het object wordt geïnitialiseerd...
Voor de geïnteresseerden: voor de hobby ben ik een search tree aan het schrijven, disk implementatie. Een applicatie voert constant db.Add(key, value) methodes uit op het tree object. Als me dit een beetje deftig gelukt is, start ik aan de b-tree