Hlavní navigace

Názor ke článku Nevtíravý paralelismus od Karel - Podobné věci jsme řešili před 10 lety v...

  • 1. 11. 2011 15:57

    Karel (neregistrovaný)

    Podobné věci jsme řešili před 10 lety v Javě a byla to poměrně triviální úloha. Místo typu String se udělala nová třída, která fungovala podobně jako soubor a dalo se z ní tudíž postupně načítat text. Pro operaci concatenate pak sloužila jiná třída, která uměla zabalit situaci, kdy se postupně četl zdroj 1, pak zdroj 2 atd., a to aniž by program vůbec věděl, že to je pospojovaných více zdrojů. Vše fungovalo efektivně až do chvíle, než nejmenovaný trouba do kódu propašoval řádek, který jako úplně první provedl dotaz na délku textu. To byla bohužel ta nejhorší varianta blokující metody. Používalo se to na MUDu (multi user dungeon), kde se díky tomu dokázal poskládat text pro hráče aniž by se muselo čekat, než se z databáze natáhne popisek místnosti nebo překlad textu. Jeden heartbeat takhle skládal pro každého hráče frontu textu a teprve nakonec je všechny poslal. Zatímco tedy "server" počítal boj a trávil nekonečný čas mobprogy (Java roku 2001), databázový server hledal texty.