Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

28.10.2007, 16:16
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Потоки и процессы.
Вырезано из темы.
Процесс не является тредом, т.к. разная область памяти. Поэтому форк(новый процесс) не является тредом.
|
|
|

28.10.2007, 16:24
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
Две замечательные статьи про процессы и треды в nix и windows системах:
http://uinc.ru/articles/34/
http://uinc.ru/articles/38/
В свое время очень помогли мне.
|
|
|

28.10.2007, 16:25
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
ТС: читаешь
http://en.wikipedia.org/wiki/Light-weight_process
http://en.wikipedia.org/wiki/Light_Weight_Kernel_Threads
и просматриваешь http://www.google.ru/search?q=light+weight+process
Последний раз редактировалось _Great_; 28.10.2007 в 17:41..
|
|
|

28.10.2007, 18:50
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
2_Great_ английского не особо знаю, но пусть потоки реализованы как процессы. только так можно говорить про потоки ядра; я так понимаю на уровне ос потоки действительно создаются как процессы, но их таблицы, пространства и тд просто являются одним целым. вот только fork, как читай единственный механизм создания процесса пользовательского уровня, создает заранее именно НЕ зависимые друг от друга процессы. так я к чему клоню - мы не говорим о том чем занимается ядро, мы говорим о том, что одним доступным вызовом fork ты просто так процессы не объединишь - придется использовать как-то разделяемую память (я не про shmmat и тд), что-то делать со всеми дескрипторами и тд и имхо этого достичь средствами посикс ил сисв апи нельзя. а стало быть выжать из fork'а поток не получится. так что пользовательский по крайней мере posix-потоки не имеют ничего общего с fork-вызванными процессами..
Последний раз редактировалось ZaCo; 28.10.2007 в 18:54..
|
|
|

28.10.2007, 19:21
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
ZaCo, вообще речь изначально была о поддержке потоков в языке PHP. Но как-то плавно nerezus её перевёл в русло "а существуют ли потоки в Unix". Вы хоть одно разумное объяснение приведите - почему форканый процесс не может считаться потоком, и почему все Unix программисты считают его потоком? Нашлись только два человека, которые с пеной у рта доказывают бредовость Unix архитектуры.
По поводу "потоков" в PHP: http://ru.php.net/manual/ru/ref.pcntl.php. Хоть какие, но это потоки, и не надо тут строить параллели с виндой. Или тут кто-то будет спорить что в POSIX не существует средств для "общения" потоков? В чём сейчас спор?
|
|
|

28.10.2007, 19:30
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
обычно под потоком понимается posix-поток, то есть вызванный функцией pthread_create. это и имелось ввиду. итак, posix-поток выполняется в адресном пространстве процесса, который его создал. я склонен считать греата правым в том, что ядерные потоки действительно ничем от процессов не отличаются. причем процесс чье адресное пространство и тп является единым с другим могут считаться двумя потоками, а не раздельными процессами.
>>Вы хоть одно разумное объяснение приведите - почему форканый процесс не может
>>считаться потоком, и почему все Unix программисты считают его потоком?
я все написал в первом сообщении этой темы. и почему ты говоришь сейчас за всех Unix-программистов?
>>Нашлись только два человека, которые с пеной у рта
>>доказывают бредовость Unix архитектуры.
чего?
--
под новым процессом же понимается дочерний процесс после вызова fork, потому что только он доступен из приведенного расширения php. про формы rfork никто ничего не говорит хотя бы потому что это не есть стандарт.
Последний раз редактировалось ZaCo; 28.10.2007 в 19:38..
|
|
|

30.10.2007, 16:23
|
|
Познающий
Регистрация: 05.10.2006
Сообщений: 56
Провел на форуме: 227465
Репутация:
42
|
|
Сообщение от groundhog
Но как-то плавно nerezus её перевёл в русло "а существуют ли потоки в Unix". Вы хоть одно разумное объяснение приведите - почему форканый процесс не может считаться потоком, и почему все Unix программисты считают его потоком? Нашлись только два человека, которые с пеной у рта доказывают бредовость Unix архитектуры.
В различных unix-like ОС реализация такой фигни(абстракции) как поток различная. Поэтому вопросы типо "а существует ли в Unix поток" выглядят немного глупо.
Применительно к реализации процессов и потоков в linux: Процесс == поток (на уровне ядра их представляет одна и та же структура)
За все остальные "юнихи" говорить не буду=)
Сообщение от groundhog
...и не надо тут строить параллели с виндой
+1
Последний раз редактировалось Dude03; 30.10.2007 в 16:33..
|
|
|

30.10.2007, 16:45
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
В различных unix-like ОС реализация такой фигни(абстракции) как поток различная. Поэтому вопросы типо "а существует ли в Unix поток" выглядят немного глупо.
Я надюсь, что nerezus всё таки разобрался в этих понятиях относительно Unix-систем. Просто если сейчас начнётся обсуждение различного рода обёрток для реализации суперфункциональности в плане "потоков" , то тут форума не хватит чтобы каждый высказал своё мнение... 
|
|
|

31.10.2007, 10:48
|
|
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
Провел на форуме: 165671
Репутация:
215
|
|
Потоки есть потоки. Каждый поток - это просто отдельный программный код со своим окружением (хотя может так случиться что код будет исполняться в случайном окружении, т.е. в контексте случайного потока, тогда у этого кода вообще нет своего потока). Процессы это абстракция, каждый волен сам придумывать что называть процессом и в каждой ОС сооствественно они реализованы по-своему. Поток может существовать вообще без процесса.
Последний раз редактировалось DWORD; 31.10.2007 в 10:50..
|
|
|

03.11.2007, 15:14
|
|
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
Провел на форуме: 165671
Репутация:
215
|
|
Протеус, истолкуй здесь свою точку зрения. Ты оставил комментарий в моей "репутации". Я не знаю, причем здесь Рихтер, теория и практика многозадачности не есть реализация операционной системы windows, так причем же здесь Рихтер? И что конкретно мне нужно почитать и в какой его книге?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|