-
Data: 2015-12-07 01:05:49
Temat: Re: Struktura do przydzielania numerków
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2015-12-06 o 17:26, bartekltg pisze:
> Czasowo jest gorsze.
> Pamięćiowo najprawdopoobnij też (ile na raz okien będzie otwartych?),
> a te dodatkowe 32 bity chyba nie są takim wqielkim narzutem, skoro
> jadna liczba przyopada na okno (bardziej skomplikowaną strukturę).
>
> Nie mówiąc o tym, że trudniejsze do napsiania;-)
A to za to bardzo proste:
yAllocFifo::yAllocFifo(const uint32_t base, const uint32_t count)
{
alloc_base = base;
alloc_count = count;
sentinel = base + count;
nextNumber = base;
}
uint32_t yAllocFifo::getNumber()
{
if (fifo.canPop()) return fifo.pop();
else
{
if (nextNumber >= sentinel) throw exception("no more nmbers");
nextNumber++;
return nextNumber-1;
}
return 0;
}
void yAllocFifo::releaseNumber(uint32_t number)
{
if (number < alloc_base)
throw exception("releaseNumber: bad number, too small");
if (number - alloc_base >= alloc_count)
throw exception("releaseNumber: bad number, too big");
fifo.push(number);
}
tylko nie sprawdza nic przy release, np. gdy zwalniamy już zwolnione to
wtedy doda dwa razy, albo zwalniamy zupełnie inny numer, którego nie
wzięliśmy.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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?
Najnowsze wątki
- 2025-03-23 ile Tesla ma gwarancji?
- 2025-03-22 OT Silnik sie przegrzewa
- 2025-03-22 Przenoszenie przez wifi na nowego Androida
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-22 Warszawa => Spedytor Międzynarodowy <=
- 2025-03-22 Warszawa => NMS System Administrator <=
- 2025-03-22 Warszawa => Analityk IT (projekty z obszaru telco) <=
- 2025-03-22 Orzeczenie TSUE
- 2025-03-22 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-03-22 Warszawa => Scrum Master <=
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Warszawa => BI Developer / Analityk BI <=
- 2025-03-22 Warszawa => IT Recruiter <=
- 2025-03-21 Zakaz wjazdu