abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 0
    dnes 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 0
    dnes 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 5
    dnes 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    včera 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    včera 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    4.5. 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (15%)
     (14%)
    Celkem 118 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník

    Dotaz: Presnost metody Sleep v Jave?

    16.10.2006 22:04 pete
    Presnost metody Sleep v Jave?
    Přečteno: 539×
    Programujem hru pod Javou(eclipse, linux mandriva 2007) a pre uspanie pouzivam metodu Thread.Sleep. Problem je v tom ze pri 1ms sa program uspi na 5ms, z toho mi vypliva ze najmensie rozlisenie je 5ms. Da sa to nejak obist?... Potreboval by som presnost na 1ms...

    Odpovědi

    16.10.2006 22:13 thingie
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    No, nejsem si jistý, jestli to má přesně vliv, ale zkusil bych v jádře nastavit volbu HZ na 1000.
    16.10.2006 22:14 thingie
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    (což samozřejmě nebude fungovat pro lidi, kteří si vlastní kernel kompilovat nechtějí (výchozí volba je 250, to by mohlo těm pěti ms zhruba odpovídat), měl by ses obejít bez toho)
    16.10.2006 22:20 pete
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    Nedalo by sa to nejakym sposobom obist aj mimo jadro?.. Alebo nastavenim v JVM?
    16.10.2006 22:25 thingie
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    Jaké výsledky dostáváš pod Windows nebo jiným systémem?

    Javadoc popisuje, že chování je závislé na systémových časovačích a plánovačích. Takže snadno to obejít asi nebude lehké, pokud to bude vůbec možné.
    16.10.2006 22:28 thingie
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    Jinak, když zkusím Google, přesností sleepu se zabývají zejména audio aplikace. Nevím, proč by si hra s přesností na jednu dvě desítky milisekund nevystačila.
    16.10.2006 22:31 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    Asi Ta nepotesim, ale nebude to fungovat.

    Kazdy operacny system updatuje svoj cas, ktory prezentuje user space-u, s urcitou granularitou. Tato granularita je radovo v desiatkach milisekund. T.j. cas sa nemeni milisekundu po milisekunde, ale dajme tomu kazdych 20 milisekund sa zvysi o 20 milisekund. Inak povedane, metoda System.currentTimeMillis() bude 20 milisekund vracat to iste cislo. Navyse, ten interval nie je vzdy rovnaky. Pred casom sme robili testy spravania sa operacnych systemov v tomto ohlade, a dosli sme k nasledovnemu: FreeBSD v priemere updatovalo cas vo velmi castych itervaloch (menej ako 10 milisekund), ale malo velky rozptyl v itervaloch updatov (az do 100 milisekund). Linux mal updaty pomalsie (20 - 30 milisekund), relativne stabilne. Windows updatoval takmer vylucne po 15 alebo 30 milisekundach. Solaris 9 aj 10 mal v priemere itervaly najdlhsie, ale velmi stabilne, okolo 40 milisekund, presne cislo si nepamatam.

    Toto spravanie sa asi da ovplyvnit konfiguraciou kernelu toho ktoreho systemu. V reale ale sleep kratsi ako niekolko desiatok milisekund nema zmysel.

    Btw, pod akou verziou Javy robis? Ak pod 1.4, tak si rozbal src.zip a pozri si, ako pracuje metoda java.lang.Object.wait(long, int). Budes prekvapeny. Neprijemne prekvapeny. Ale ziskas realisticky pohlad. Hold, od real-time OS sme este daleko.
    16.10.2006 22:47 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    Nasiel som vysledky, takze casy updatov:
    SunOS 5.9/5.10      : 10ms
    Linux 2.4.21        : 20ms
    Windows 2003 Server : 16ms
    FreeBSD 6.0         :  2ms
    
    Opravujem este jeden udaj: najstabilnejsie intervaly boli v pripade Linuxu.
    16.10.2006 22:53 pete
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    Tak taku dlhu odpoved som necakal :)... dika..

    Spominal si System.currentTimeMillis()... A k tomu by som mal dotaz : A co funkcia System.nanoTime() od verzie 1.5?... Ta vracia cas v nanosekundach. A pocitam s tym ze to nevracia System.currentTimeMillis()*1000000.
    16.10.2006 23:14 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Presnost metody Sleep v Jave?
    System.nanoTime() je v Jave 5 nativna, takze podla javovskych zdrojakov sa neda povedat, co robi skutocne. Chcelo by to pozriet sa na zdrojaky JVM:
    public static native long nanoTime();
    
    Definicia Object.wait(long, int) sa nezmenila:
    public final void wait(long timeout, int nanos) throws InterruptedException {
            if (timeout < 0) {
                throw new IllegalArgumentException("timeout value is negative");
            }
    
            if (nanos < 0 || nanos > 999999) {
                throw new IllegalArgumentException(
    				"nanosecond timeout value out of range");
            }
    
    	if (nanos >= 500000 || (nanos != 0 && timeout == 0)) {
    	    timeout++;
    	}
    
    	wait(timeout);
        }
    
    Takze ak to ma nanosekundy vacsie ako 500000, tak zvysi wait o milisekundu. Ak to ma nanosekundy nenulove a milisekundy nulove, waituje to aspon obligatnu jednu milisekundu.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.