abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) první RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 1
    včera 23:22 | Komunita

    Eugen Rochko, zakladatel Mastodonu, tj. sociální sítě, která není na prodej, oznámil, že po téměř 10 letech odstupuje z pozice CEO a převádí vlastnictví ochranné známky a dalších aktiv na neziskovou organizaci Mastodon.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Nová verze

    Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.

    Ladislav Hagara | Komentářů: 9
    včera 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 1
    včera 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    17.11. 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

    Ladislav Hagara | Komentářů: 0
    17.11. 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 2
    17.11. 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 367 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    13.12.2008 12:31 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: C / C++ - techniky programovani bez nekonecne smycky
    Smarja, ved su aj ine moznosti ako timeout nulovy a nekonecny! Ak potrebujem kazdu sekundu (dosadte si konstantu podla potreby) kontrolovat obrazok z kamery, tak nastavim sekundovy timeout (prip. sekunda minus epsilon, kedze to volanie selectu nieco trva a spracovanie obrazku z kamery tiez). Ked sa mi select vrati, tak sa pozriem ci preto, ze nieco prislo na nejaky filedescriptor alebo preto, ze expiroval. Ak expiroval, tak spracujem kameru a a zavolam select znova. Ak neexpiroval, tak osetrim filedescriptory, nastavim novy timeout na ten, s ktorym sa mi vratil select (prip. este minus epsilon) a zavolam ho znova.

    Takze jednoduche je to dostatocne. Zataz procesora nie je vyssia ako nutna, pretoze ho vyuzivam skutocne len vtedy, ked pridu data alebo ak potrebujem spracovat kameru. Nebudim sa zo selectu castejsie ako musim. Ak by som sa rozdelil do dvoch vlaken, tak sice mam nekonecny timeout na selecte, ale to druhe vlakno aj tak kazdu sekundu pouzije CPU na ovladanie kamery. Takze som neusetril nic a prepinanie vlaken tiez nieco stoji. A snazim sa ako mozem, ale spozdenie dat nedokazem najst. Kde by malo byt?

    BSD-like Unixe, nenastavuje zvysny cas v timeoute selectu, takze na BSD si treba ukladat systemovy cas pred volanim selectu a porovnavat ho so systemovym casom po navrate z neho.

    Pre sietovu cast velkeho skolskeho projektu som programoval pred asi 4 rokmi nieco velmi podobne. Drzat mnozstvo otvorenych TCP spojeni, cez ktore pritekaju a odetkaju data. Ziadne spojenie nesmelo trvat dlhsie ako definovany cas (ochrana pred DOSom), ak pretiahalo, tak bolo ukoncene. A stale som musel byt schopny reagovat aj na "signaly" zo zvysnej casti programu = ostatnych vlaken (sifrovacich, hlavneho ovladacieho atd.). V zadani projektu bola vyzadovana prenositelnost minimalne na Linux, Mac, Win. Takze na POSIXove signaly so mmohol zabudnut (co ja by som dal za pselect()). Riesil som to vytvorenim TCP spojenia, ktoreho oba konce drzal program samotny a jeho citaci koniec bol zaraadeni do mnoziny filedescriptorov pre select. Ked chcel niekto zobudit cakajuce sietove vlakno, tak zapisal spravu do konca tohoto spojenia urceneho pre zapis (to bolo dostupne vsetkym). Tym sa prerusil select a standardnou cestou sa zistilo, ze nejaky vlaknovy kolega po mne nieco chce (napriklad restart, alebo zmena maximalneho poctu spojeni, zmena timeoutu pre spojenia a pod.). Systemovy cas expirovania kazdejo spojenia bol vo utriedenej fronte a vzdy rozdiel medzi jej prvym prvokom a systemovym casom urcoval timeout pre select. Do fronty sa pridavalo iba na koniec, odoberalo zo zaciatku a nemusela sa v kazdom kroku prepocitavat. V pripade spojenia, ktore stihlo poslat vsetky data este pred vyexpirovanim je nutne najst zaznam uprostred fronty - moze sa spravit kruhova v poli a binarnym vyhladavanim znizit tuto zlozitost na logaritmicku. Alebo mat vyhladaciu tabulku indexovanu cislom descriptoru ukazujucu do fronty a mat to konstantne.

    Testovane to bolo v 24h v skolskom labe s desiatkami pocitacov, kde kazdy komunikoval s kazdym a kazdy drzal desiatky otvorenych spojenia a zataz sietoveho vlakna zanedbatelna oproti sifrovacim vlaknam. Programuje sa to trocha zlozitejsie ako Hello world, ale nez si nechat v systeme zit a prepinat 100 vlaken (nech aj v poole), kde kazde obsluhuje jedno spojeni...
    If you hold a Unix shell up to your ear, you can you hear the C.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.