Strona 1 z 1

Częsta inicjalizacja kontra zablokowane zasoby

: 17 mar 2008 22:01
autor: ky3orr
witam szanownych Kolegów!

piszę właśnie obsługę dwóch urządzeń na RS232 każde.
problem przed którym stanąłem to czy jest jakiaś dobra maniera programowania urządzeń do których cyklicznie chcemy uzyskiwać dostęp?

chodzi o to, że przy korzystaniu z bloczków Serial, lub VISA należy najpierw stworzyć obiekt, lub otworzyć port - czyli zająć zasoby systemowe, wykonać akcję i zamknąć port lub usunąć obiekt (zamknąć obiekt VISA).

dla tego zastanawia mnie w jaki sposób najlepiej rozwiązać problem komunikacji: czy na początku programu zająć zasoby i przedrutowywać je w każde potrzebne miejsce kodu, oraz zwolnić zasoby dopiero przy opuszczaniu aplikacji?
Może jednak lepiej inicjować obsługę urządzeń w miejscach gdzie jest wymagana i od razu po sobie sprzątać?

jak sądzicie? czy ma to jakiś wpływ na działanie programu?
czy tak samo należy postępować z dostępem do baz danych?

pozdrawiam serdecznie

Częsta inicjalizacja kontra zablokowane zasoby

: 18 mar 2008 06:05
autor: bogdani
Witaj

To wszystko zależy jak często korzystasz z danych zasobów.
Jeśli odwołania do nich są częste i czas inicjalizacji może mieć wpływ na działanie algorytmu, to lepiej zająć zasoby na początku i zwolnić na koniec programu. Zwrócić należy uwagę czy ktoś inny się do nich nie będzie odwoływał, czy może się odwoływać.

Jeśli odwołujesz się do tych zasobów sporadycznie to IMHO przy odwołaniu blokujesz zasób i korzystasz z niego.

bogdani

Re: Częsta inicjalizacja kontra zablokowane zasoby

: 18 mar 2008 17:36
autor: ky3orr
dzięki bogdani za podpowiedź.

wydaje mi się, że zarezerwuję zasoby na początku programu i zwolnię dopiero na końcu. w moim projekcie żaden inny proces nie będzie korzystał z COMów poza moją aplikacją, a średnio w ciągu minuty będę 50 razy coś przesyłał w obie strony więc myślę, że po prostu lepiej będzie korzystać z raz odpalonej juz VISY.

pozdrawiam