Re: Počet vláken

Marek Sembol hwm.land na gmail.com
Čtvrtek Prosinec 10 07:33:04 CET 2020


Zdravim,
Lazara neznam ani omylem, ale: Ono chyba 'out of memory' nemusi nutne
znamenat, ze dosla pamet obecne. Mnohdy ma program/system vyhrazenou
statickou (pevne delky) tabulku na nejake prostredky pokud nema volny slot
- vyhodi out-of-memory (a ma pravdu-dosla mu vyhrazena pamet) Na podobny
problem jsem narazil jednou s .NET (tehdy jeste 3.5) Program pomerne
intenzivne (az agresivne) vyuzival thready z ThreadPool. Problem byl, ze
tam byl taky pevny strop - a jeste zavisly na poctu jader. Tusim 256/jadro.
Obecna rada - ono stejne neni pro system moc zdrave drzet si stabilne tolik
thready. Kazda sranda (thread) neco stoji. Ten thread dokonce relativne
dost.
Takze moje rada vas nepotesi - predelat strukturu programu, aby
nepotreboval tolik threadu. Neco jako jeden thread na naslouchani a v
pripade prichoziho pozadavku, si docasne vytvorit (nejlepe pouzit z thread
pool, pokud lazarus ma, jinak si napsat svuj. Tvoreni thredu je hodne
drahe) threadik na zpracovani pozadavku a pak ho zas hezky vratit/uklidit.
BR,
Marek

On Thu, Dec 10, 2020 at 6:51 AM Martin Záruba <swz na volny.cz> wrote:

> Mám v prostředí Lazarus program, který po připojení přes TCP/IP založí
> vlákno a provede příslušnou akci. Pokud ale počet vláken dosáhne hodnoty
> 115 dostanu zprávu
>
> Project xxx vyvolal výjímku třídy ´EThread´ se zprávou:
>
> Thread creation error: K provedení tohoto příkazu není dost paměťových
> prostředků
>
>
> Jenže ono to nezáleží na paměti. Na různých PC se to chová stejně.
> Zjevně někde přetečou nějaké tabulky. Ale kde?
>
> --
>
> Martin Záruba
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20201210/05c9f5e6/attachment.html>


Další informace o konferenci Hw-list