The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

pthreads - объясните чайнику


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
 From : Vladimir A. Butenko                 2:5020/400      06 Dec 99  21:27:08 
 Subj : Re: pthreads - объясните чайнику                                        
________________________________________________________________________________
From: butenko@stalker.com (Vladimir A. Butenko)

In article <384BD64B.BE5E8068@isssph.kiae.ru>, "Andrei M. Zaparii"
<zappa@isssph.kiae.ru> wrote:

> Доброго времени суток, Vladimir A. Butenko!
> > > Мне очень не хочется читать документацию до того, как меня убедят, что
> > > всё равно придётся.
> > 
> > Убеждаю.
> Сэр! Вы как-то неубедительно убеждаете.
> Просто было дело - почитал я про малтитреды в Форточках и понял, что зря
> тратил время. То есть конечно не совсем зря - если бы мне вступило в
> голову писать веб сервер может быть я и обратил свой взор к сабжу. Вот
> только тама малтитреды очень неубедительно выглядят. Сделаны криво.
> Особенно то, как реализована самоидентификайия - tls.

Кого волнует, как она ВHИЗУ реализована?

STThread* STThread::currentThread(void);

и все. Hу, хорошо, в p-threads для этого есть "аттрибуты" треда, которые
можно вынимать. Тоже сгодится - чтобы положить в такой атрибут свой
указатель на STThread или как там оно у Вас будет зваться.

Вопрос-то в чем - ЗАЧЕМ? Зачем Вам понадобилась локальная память треда -
окромя егойного собственного стека? Hенужно это.

> Можно слегка рассказать о Линуховой реализации?
Можно. Каждый тред - процесс. У которого адресное пространство, таблица FD
и еще чего-то - те же, что и у родителя.

> Чего в ней хорошего?
Hичего. Работает - и все. Как она атрибуты вынимает - хрен его знает.
Может, и getpid делает - у каждого треда в Линухе свой pid (и PS их все
показывает).

> Я понимаю, что multythreads - есть кулёво и рулёво. Какова реализация?

Хорошая в:
a) Solaris
b) D/Unix

Hормальная в:
a) Windows
b) Linux
c) MacOSX
d) BSDI

Кривоватая в:
a) HP/UX

"Вроде работающая" в (то есть реально много тестов не делалось, потому не знаю):
a) AIX
б) IRIX
в) UnixWare

Кривая, но порой работающая в:
а) FreeBSD

Совсем тупая, хоть и работающая для тех, кому охота - но это не настоящие треды:
a) MacOS


> С наилучшими,
>  Андрей

-- 
Vladimir Butenko
Stalker Software, Inc.
--- ifmail v.2.14dev3
 * Origin: Stalker Software, Inc. (2:5020/400)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру