RE: [sisyphus] Re:Как ускорить работу с потоками?

Boronin Sergey =?iso-8859-1?q?analisys_=CE=C1_quality=2Es2=2Eru?=
Пт Сен 10 16:03:49 MSD 2004


> epoll, например :)
> 
> select/poll на худой конец.
> 
> kevent в FreeBSD.
>

А можно в двух словах о концепциях, которые лежат в основе этих
технологий, т.е. на чем основана их работа и как реализуется
параллельность выполнения?

Если с помощью fork() то это медленнее, а пулл процессов будет отъедать
немало оперативки (гораздо больше чем потоки в процессах).

Кроме того, потоки удобны тем, что используют единое адресное
пространство,
Что требует конечно известной аккуратности и внимательности, но и
позволяет сделать код проще, логику его работы прозрачнее, да и памяти
по сравнению с fork() ест не в пример меньше.

С уважением,
Боронин Сергей

> -----Original Message-----
> From: sisyphus-bounces на altlinux.ru
[mailto:sisyphus-bounces на altlinux.ru]
> On Behalf Of Денис Смирнов
> Sent: Friday, September 10, 2004 6:55 AM
> To: Serge Pavlovsky
> Cc: ALT Linux Sisyphus discussion list
> Subject: [sisyphus] Re:Как ускорить работу с потоками?
> 
> On Fri, Sep 10, 2004 at 02:51:00AM +0300, Serge Pavlovsky wrote:
> 
>  >> Если вы приведёте пример, когда на x86 100 тысяч тредов являются
>  >> оптимальным решением, я буду вам очень благодарен.
>  SP> если они все спят в чтении из сокетов
>  SP> можете приводить пример грузовика ;)
> 
> epoll, например :)
> 
> select/poll на худой конец.
> 
> kevent в FreeBSD.
> 
> aio.
> 
> Самое разумное -- выносить в отдельные нити _обработку_, а как раз
ждать и
> данными кидаться в небольшом количестве нитей (в несколько раз больше
чем
> количество процессорв, для большей равномерности).
> 
> --
> С уважением, Денис
> 
> http://freesource.info
> 
> _______________________________________________
> Sisyphus mailing list
> Sisyphus на altlinux.ru
> https://lists.altlinux.ru/mailman/listinfo/sisyphus


Подробная информация о списке рассылки Sisyphus