ObjectPool on Microsoftin uusi ominaisuus, ja Microsoft auttaa meitä ylläpitämään joitakin uudelleenkäytettäviä objekteja.
Yksinkertaisesti sanottuna, samoin kuin jaetuissa polkupyörissä, kun käytät sitä, skannaa koodi avataksesi sen, ajoneuvo tarkoittaa, että se on varattu, kun käytät sitä, kun lukitset auton, ajoneuvo vapauttaa tilaa. Nämä miehitykset ja vapautukset ovat kaikki alustan ylläpitämiä puolestamme.
Jotkut objektit eivät ole säikeen turvassa, mutta joka kerta kun instanssimme esineen, meidän täytyy kuluttaa joitakin resursseja.
Ensiksi luomme uuden SqlConnectionPooledObjectPolicy-luokan, joka perii <T>IPooledObjectPolicy-rajapinnan ja tarvitsee toteuttaa sen kaksi menetelmää.
Kuinka instanssoida objekti Create-menetelmässä,Return kertoo, voidaanko objektia edelleen käyttää uudelleen, ja kun false palautetaan, objekti poistetaan objektipoolista.
Testin lähdekoodi on seuraava:
Testitulokset ovat seuraavat:
On nähtävissä, että yhteyspooli on hieman hitaampi ensimmäisten 10 kyselyn kohdalla, ja sen jälkeen se on nopeampi kuin jokainen SqlConnectionin instanssiointi.
Liitteenä on lähdekoodi
Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus
|