Форум: "Сети";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];
Вниз(Berkeley-style sockets) теория Найти похожие ветки
← →
GanibalLector © (2006-01-21 18:37) [0]Предположим сервер выполнил Accept для нового клиента и создал поток.Рано или поздно поток завершится и (по всем правилам) я должен выполнить CloseHandle. И как быть... создавать еще один поток,который будет отслеживать смерть потоков и вызывать CloseHandle ???
И еще,предположим я хочу передать некоторую структуру в создаваемый поток. Делаю так :
type
TMode=record
Sock:Cardinal;
Addr:TSockAddr;
end;
PMode = ^TMode;
...
var Val:PMode;
begin
...
GetMem(Val,SizeOf(TMode));
Val.Sock:=AcceptedSock;
Val.Addr:=Addr;
BeginThread(nil,0,@ProcessSockEvents,PMode(Val),0,ThId);
//FreeMem(Val)
Опять таки,если не сделать FreeMem(Val),то будет утечка.Если сделать,то будет еще большая беда. Как быть?
← →
GuAV © (2006-01-21 19:08) [1]
> Рано или поздно поток завершится и (по всем правилам)
> я должен выполнить CloseHandle.
CloseHandle чего ? потока ?
Если тебе не нужен хендл потока, закрывай этот хендл сразу - делов... ТипаCloseHandle(BeginThread( ...
Если где-то сохраняешь, то оттуда и закрывай.
>
> BeginThread(nil,0,@ProcessSockEvents,PMode(Val),0,ThId)
>;
> //FreeMem(Val)
>
> Опять таки,если не сделать FreeMem(Val),то будет
> утечка.Если сделать,то будет еще большая беда. Как
> быть?
Освобождать в том потоке. После вызова BeginThread менеджер памяти гарантированно будет в потокобезопасном режиме, а если не был бы то и из своего потока освобождать не было бы безопасно.
Только при чём тут сабж и конференция Сети ?
← →
GanibalLector © (2006-01-21 19:33) [2]2 GuAV © (21.01.06 19:08) [1]
Спасибо!
>при чём тут сабж и конференция Сети ?
Бывает ;)
И еще. Как известно ф-ции Send,Recv имеют 3 параметра. Меня,собственно,интересует третий. Т.е флаг установленный в MSG_OOB. Изменится ли при этом скорость приема\передачи, если по пути следования пакета имеется некоторое оборудование(свичи,хабы). Более того,в некоторых литературных источниках и конференциях настоятельно рекомендуют ВОЗДЕРЖАТЬСЯ от использования MSG_OOB. Как быть?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.012 c