-
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
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-02 Jaka ładowarka sieciowa do Iphona?
- 2025-07-02 ,,The Plot to Get RFK" (,,Spisek, by pozbyć się RFK")
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Rozkaz 16-2025: 2025-06-19 Apelacja Do Wyroku Sądu Rej. w Sprawie IVRNs 295-23
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Inżynierowie... inżynierzy...
- 2025-07-02 Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 2025-07-02 Kto potrafi sprawdzić aku BMW 48V 10Ah Li-Ion do mini hybrydy, czy sprawny ?
- 2025-07-02 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-02 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-02 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-02 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-02 Znaleziony
- 2025-07-02 Warszawa => Data Developer <=
- 2025-07-02 Kraków => Kotlin Developer <=