_ RU.OS.CMP (2:5077/15.22) _________________________________________ RU.OS.CMP _
From : Alex Tutubalin 2:5020/400 24 Jan 99 10:50:12
Subj : Re: UNIX - Мастадай (Выдержки из собраний сочинений)
________________________________________________________________________________
From: Alex Tutubalin <lexa@lexa.ru>
cyr@materials.kiev.ua wrote:
>
> Хм ;). Триды - это жалкое подобие форка. Костыль для систем, в клторых
> дизайнеры умудрились сделать сисколл порождения процесса настолько
Как интересно. Т.е. Solaris, который весь из себя multithreaded (включая
ядро)
- это случай того самого костыля ? Зачем, по-твоему, в Solaris ввели threads
(и зачем LWP появились в SunOS) ?
> fork()+ipc полностью обеспечивает функциональность как процессов, так и
> тридов (расшарить сегмент данных и форкануться - получится два трида).
Hе полностью. Во-первых, сигналы будут приходить по-разному (в один процесс,
из нескольких). Во-вторых, будет другая семантика fork() - если форкается
один
из детей, то все "триды" скопированы не будут. В-третьих, т.к. это разные
процессы,
то затраты на синхронизацию "тридов" будут очень велики т.к. каждый акт
синхронизации будет вызывать переключение контекста.
>
> Да, на уровне libc придется обеспокоиться распределением памяти - но это
> мелочи.
Увы, этого мало.
Я по-прежнему утверждаю, что threads нужны достаточно редко (исключение
- мультипроцессор), но уж если нужны, то опаньки.
--
Alex Tutubalin
--- ifmail v.2.14dev2 * Origin: ADICOM (2:5020/400@fidonet)