-
Data: 2015-12-05 00:45:13
Temat: Re: Struktura do przydzielania numerków
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 04.12.2015 15:04, Borneq wrote:
> Każdy zasób określony jest przez numer z zakresu <a,b), bez miany
> ogólności możemy przyjąć że zakres jest <0,n) gdzie n=b-a.
> N jest duże, np. dwa miliony, więc nie ma obaw że zabraknie zasobów, n
> to ilość ile może być zasobów JEDNOCZEŚNIE. Ale gdy zwolnimy jakiś
> zasób, jego numer może zostać przydzielony znowu.
> Choć duże n, to może się skończyć, gdy będziemy przydzielać, zwalniać i
> zwiększać k.
> Są dwie strategie: albo przydzielać zawsze najniższy wolny numer, albo
> cały czas inkrementować k, przydzielać najwyższy numer, aż gdy k
> osiągnie n, wtedy zawinie się od początku. Jak jest lepiej?
> Jaka struktura? Czy trzymać listę raczej wolnych czy raczej zajętych
> numerów? Gdy będzie mało wykorzystane, oszczędniej trzymać raczej listę
> zajętych, ale listę wolnych może lepiej szukać?
Rozumoem, że nie chodzi o obiekt w pamięci. Bo jeśli tak,
to można to zrobić jeszcze sprytniej.
Pomysł wstępny:
Stos wolnych. Gdy wątek pobiera zasób, zabier go jednocześnie
ze stosu. Gdy zwalnie, wsadza numer na samą górę.
Wszystko w czasie stałym.
Modyfikacja: kolejka fifo w cyklicznym buforze (wielkosći N+1).
Pobierasz z jednej strony, oddajesz po drugiej.
Ale nie zawsze warto, jeśli ostatnio używane zasób jest
z jakiś posobów lepszy (co siedzi w buforach) to pierwsza
wersja lepsza.
No, chyba, że zasobem są stałej wielkośći fragmenty pamięći
(obiekty po kilka(set) bajtów). Wtedy robie się to inaczej.
pzdr
bartekltg
Następne wpisy z tego wątku
- 05.12.15 00:49 bartekltg
- 05.12.15 09:37 Borneq
- 05.12.15 12:44 M.M.
- 06.12.15 10:12 Borneq
- 06.12.15 10:21 Borneq
- 06.12.15 11:29 Borneq
- 06.12.15 17:26 bartekltg
- 06.12.15 19:47 Borneq
- 07.12.15 01:05 Borneq
- 07.12.15 03:09 bartekltg
- 07.12.15 03:13 bartekltg
- 07.12.15 10:31 Borneq
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-09-16 zapora Stronie Slaskie
- 2024-09-16 powodz
- 2024-09-16 Aple ma przycisk APARATU. SERIO? Tyle lat im to zajęło?
- 2024-09-15 Mulitisim
- 2024-09-15 Jaki telefon dla "SENIORA"? ;-)
- 2024-09-18 Co z 7 miejsc w leasingu dla fizycznych?
- 2024-09-17 Kultura zapie....ania
- 2024-09-17 Gdańsk się skończył dla mnie.
- 2024-09-16 Elektryki z południa lecą do ciepłych krajów :)
- 2024-09-16 Re: Wolkswagen szantażuje rząd aby powróciły dotacje do elektryków
- 2024-09-17 Wybuchające pagery
- 2024-09-18 szukam speca od mini-remontow (w w-wie)
- 2024-09-18 Warszawa => Spedytor międzynarodowy <=
- 2024-09-18 Kraków => Java Full Stack Developer (Angular/React) <=
- 2024-09-18 Warszawa => Projektant/Programista React Native <=