Zdravim,
v uvodu naznacujete neco v tom smyslu, ze 'interaktivni aplikace
potrebuje bezet ve vice vlaknech...'. Lez jako vez, prirozenejsi
je pouzit neblokujici volani a rozumne strukturovat dany program.
Funguje to pak stejne dobre jak s thready, jenom neni treba se
vyrovnavat s kernel-level slozitosti (vymyslet zamykaci strategii,
ladit to cele). Spojovat thready automaticky s vyssim vykonem
nebo lepsi interaktivni odezvou je neopodstatnene.
Jinak pekny clanek.
-- Freza
To je pekna blbost, kazda trochu slozitejsi GUI aplikace musi pouzivat vice threadu aby vypadala "plynule". Vsek se podivej do seznamu procesu napr. na mozillu. Nejcasteji GUI bezi v hlavnim threadu, funkce kde hrozi zdrzeni se pousteji v dalsich. Neblokujici volani nic neresi, protoze funguji >mezi dvema procesy
Huh? MozillaFirebird mi bezi v jednom threadu, stejne tak links, stejne tak Xserver, stejne tak skoro vsechno.
> Neblokujici volani nic neresi, protoze funguji
> mezi >dvema procesy< anebo pro nektera volani
> jadra.
Hm?
> Cili to vypada jako by ses chtel ubranit pouzivani
> vice threadu zavedenim vice procesu.
Ne, nechtel.
Přesně tak. Platí pravidlo, že jakákoli akce, která blokuje GUI déle než desetinu sekundy by se měla provádět v sekundárním vlákně. Pokud aplikace žádnou takovou akci nemá, je zbytečné se vlákny zaobírat. Smůla je, že většina aplikací není takto triviální. Dvě vlákna pro jednodušší GUI aplikace často stačí.