čtvrtek 23. května 2013

Hogging thready

Koncept tzv. hogging threadů byl poprvé implementován ve WLS 9.2. Jsou to thready, které běží delší dobu, než je průměrný execution time běžícího threadu, který je průběžně vypočítáván WLS kernelem. Dalo by se tedy říci, že jsou to pomalé nebo "zlobivé" thready.
Pokud je u threadu nastaven atribut hogging po určitou (nastavitelnou) dobu, která defaultně činí 600 vteřin, přechází thread do stavu stuck.

Hogging thready je možné potkat často u instalací, které využívají Active GridLink. ONS messaging totiž provádí blocking volání internalDequeue() čeká na příchod zprávy po určitou dobu (timeout). Pokud z RACu nepřijde žádná zpráva, nevykazuje thread žádnou aktivitu a blokuje až do příchodu zprávy, nebo timeoutu. Je-li timeout nastaven na 0, pak thread čeká po neomezenou dobu.


Na konzoli to může vypadat takto: