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í
×
    dnes 16:33 | IT novinky Ladislav Hagara | Komentářů: 0
    dnes 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    včera 16:00 | IT novinky

    Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.

    Ladislav Hagara | Komentářů: 10
    včera 14:11 | Nová verze

    Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Nová verze

    Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.

    Ladislav Hagara | Komentářů: 1
    včera 11:22 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 11:00 | IT novinky

    Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).

    Ladislav Hagara | Komentářů: 0
    včera 09:55 | Zajímavý projekt

    CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.

    |🇵🇸 | Komentářů: 0
    21.8. 05:00 | Nová verze

    Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2496 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: QThread

    Jardík avatar 2.6.2010 00:57 Jardík | skóre: 40 | blog: jarda_bloguje
    QThread
    Přečteno: 543×
    Mám nějaký QThread:
    class MyThread: public QThread
    {
      Q_OBJECT
    protected:
      virtual void run()
      {
        /* blabla */
      }
    };
    
    A nějaký další objekt
    class MyObj: public QObject
    {
      Q_OBJECT
      MyThread *th;
    public:
      MyObj()
      {
        th = new MyThread();
        connect(th, SIGNAL(finished()), SLOT(onThreadFinished()));
        th->start();
      }
      
      ~MyObj()
      {
        if (th)
        {
          th->wait();
          delete th;
        }
      }
    protected slots:
      void onThreadFinished()
      {
        th->wait();
        delete th;
        th = 0;
      }
    };
    
    Dotazy:
    • onThreadFinished() bude zavolán z threadu, kde je vytvořen MyObj?
    • Pokud bude zavolán destruktor objektu dříve, než skončí thread, a já tam zavolám wait() a pak objekt zničím, předpokládám správně, že i když thread signál emitne, tak si při zničení uklidí vyslaný signál do jiného threadu a onThreadFinished() tedy zavolán nebude?
    Věřím v jednoho Boha.

    Odpovědi

    Jardík avatar 2.6.2010 01:01 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: QThread
    A ještě vlastně jeden dotaz. Pokud bych zavolal disconnect až poté, co by thread emitnul signál, ale před tím, než by byl doručen, bude doručen, nebo ne?
    Věřím v jednoho Boha.
    2.6.2010 02:19 Murry | skóre: 16 | Brno
    Rozbalit Rozbalit vše Re: QThread

    onThreadFinished() bude zavolán z threadu, kde je vytvořen MyObj?

    onThreadFinished() bude zavolán pokud metoda MyThread->run doběhne. (Tzn. podle toho co máš za kód u  /* blabla */ )

    Pokud bude zavolán destruktor objektu dříve, než skončí thread, a já tam zavolám wait() a pak objekt zničím, předpokládám správně, že i když thread signál emitne, tak si při zničení uklidí vyslaný signál do jiného threadu a onThreadFinished() tedy zavolán nebude?

    Nejsem si jist, zda-li je to či ono garantováno, v dokumentaci píší (pokud si pamatuji) něco jako že to není doporučeno spíš se má volat deleteLater().

    Jardík avatar 2.6.2010 02:26 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: QThread
    spíš se má volat deleteLater()
    Jenže kdybych zavolal deleteLater(), tak by se mi ta metoda mohla zavolat s neplatným this pointerem (?)... nebo ten objekt odpojí při destrukci signál a ten se pak nezavolá (i když byl už vyslán)?
    Věřím v jednoho Boha.
    6.6.2010 15:46 Murry | skóre: 16 | Brno
    Rozbalit Rozbalit vše Re: QThread
    Neplatný pointer ne-e. Pokud object není platný už neregeruje signál.
    6.6.2010 15:48 Murry | skóre: 16 | Brno
    Rozbalit Rozbalit vše Re: QThread
    Tím "není platný" myslím pokud už není v paměti.
    7.6.2010 17:17 Sten
    Rozbalit Rozbalit vše Re: QThread
    onThreadFinished() bude zavolán z threadu, kde je vytvořen MyObj?

    Ano, sloty běží ve vlákně, ve kterém se nachází příjemce (ve výchozím módu funkce connect, lze změnit parametrem type, viz dokumentace). onThreadFinished je emitováno threadem poté, co opustí metodu run, ale zde zpracováno až poté, co thread objektu MyObj se dostane do event loopu (tzn. opustí metody objektu MyObj).

    Pokud bude zavolán destruktor objektu dříve, než skončí thread, a já tam zavolám wait() a pak objekt zničím, předpokládám správně, že i když thread signál emitne, tak si při zničení uklidí vyslaný signál do jiného threadu a onThreadFinished() tedy zavolán nebude?

    Po vložení signálu do mezi-threadové queue se signál nezruší smazáním objektu, který jej vyslal. onThreadFinished ale nebude doručen, protože bude příjemce zdestruován dříve, než bude možné ten signál doručit.

    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.