![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
admsasha |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
собственно говоря, что у меня не так ? |
||||
|
|||||
GrayCardinal |
|
||||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Перед этой строчкой неплохо бы проверочку что данные вообще есть. Я бы не стал так писать.
ты всегда прикалываешься "освобождением сокетов" или только когда сильно обкуришься ? полпачки-пачка ? ![]() нет, я конечно хорошо отношусь к bilbobagginz, но... руки видимо придется все ж таки поотрывать. ![]() и pthread на сколько я знаю для серваков не пользуют. пользуют fork () Сказать тебе что у тебя не так ? ![]() |
||||
|
|||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
ну определитесь что лучше ))) fork как то проще, но вот лучше ли он ?, он же занимает больше памяти и ресурсов, так что лучше pthread .... |
|||
|
||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
убрал free(p);
все работает,вроде как.. но как закрывать сокет ? close(p) - не правильно как передать socket не через ссылку ? Добавлено @ 18:04
что и как именно ? |
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 1 Всего: 25 |
free(p); вообше убери
у тебя же уже есть close(sock); - оно и закроет. -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
А почему процесы то создаются ??
|
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 1 Всего: 25 |
1. На некоторых системах потоки выводятся в списке процессов.
2. попробуй после close(sock); поставить pthread_exit(0); -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
Так и pid`ы разные ? у меня Mandrake Linux 10.1 |
|||
|
||||
achmed |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 12.4.2004 Репутация: нет Всего: нет |
В Linux потоки реализованы как процессы с разделяемым контекстом.
И еще раз man socket !!! |
|||
|
||||
GrayCardinal |
|
||||||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
ты это кому ?
![]() ![]() Добавлено @ 15:41
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Валялся по полу и долго плакал... Ты представляешь себе сервак ? С, как минимум, 1Гб оперативки и Dual P3 ? ЗЫ у тебя даже в репуташке от bilbobagginz написано почему fork предпочтительней. Это сообщение отредактировал(а) GrayCardinal - 28.4.2005, 15:48 |
||||||
|
|||||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 4 Всего: 317 |
мдяаааа....
вам батенька ( admsasha ) в библиотеку НУЖНО, к источникам. ваше чтиво: 1. A.Tanenbaum "Operating System concepts" 2. М.Bach "The design and implementation of UNIX Operating System" 3. чтобы понять что есть fork(), что есть thread, и какая разнница между "многопроцессовостью" и "многопоточностью" нужно видимо установить man страницы, и почитать их. ещё можно по этой ссылке слазать: http://www.llnl.gov/computing/tutorials/wo...N.html#Overview -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
AndrK |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Ну если fork предпочтительнее, тогда обоснуй переход проекта appache на использование потоков... Потоки менее нагружают систему... и хотя есть серваки которые ты описываешь и даже круче... ;-> все равно, если у тебя сотни соединений в секунду (образно выражаясь) fork накладен даже для таких серваков... Расточительно это... |
||||||||
|
|||||||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Под линухом дочерний процесс может юзать тоже виртуальное пространство что и родительский процес, значит: 1) нет переключения контекстов (виртуальной памяти в смысле); 2) общая память, общие ресурсы. В чём разница между тредами? А разница в том что структуры fork'анных "тредов" будут у шедулера вместе со структурами других процессов (поэтому их в списке процессов видно). Теряеться гибкость, нельзя дать приоритет процессу целиком (со всеми тредами "внутри", ибо они не "внутри" а являються дочерними процессами), да и вообще всё перемешанно получаеться. Чисто физически это раздельные процессы, просто у них поведение идеентично тредам. pthreads это "реальные" треды, без всяких copy-on-write и прочих возможностей как у fork'анных "тредов", по идее должны быть быстрей... -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Sardar,
Быстрей, медленней. Главное - хвост ![]()
Пусть бред доказывает тот, кто его озвучил (с) Игорь Чупин. Я к тому что рассуждение на тему fork VS pthread надо в Holy War. И для того чтоб решать что лучше для сервака, надо как минимум, иметь сервак. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |