Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Потоки и Сокеты пара вопросов   Найти похожие ветки 

 
DVM ©   (2006-04-03 11:07) [0]

1. Вопрос:
Нет ли каких нюансов при использовании сокетов Windows в многопоточных приложениях? Имеется ввиду winsock (не VCL).
2. Вопрос:
GetMem и FreeMem - потокобезобасные функции? Дело в том, что мое многопоточное приложение немного нестабильно работало, пока я не обернул все их вызовы в критические секции. Хотя пременная IsMultithread была true.


 
DVM ©   (2006-04-03 11:20) [1]

Ага, многопоточные приложения - это как раз тема для ветки Начинающим.


 
Сергей М. ©   (2006-04-03 12:01) [2]


> Нет ли каких нюансов при использовании сокетов Windows в
> многопоточных приложениях?


Может и есть.
Смотря о чем речь ..


> GetMem и FreeMem - потокобезобасные функции?


При IsMultithread = true - да, потокобезопасные.

Нет никакой нужды оборачивать эти вызовы в КС, поскольку тоже самое при установленном флаге IsMultithread делает сам менеджер памяти.


> приложение немного нестабильно работало


Это все равно что "немного беременная"..


> это как раз тема для ветки Начинающим


Формулировка темы вопроса вряд ли тянет на иное.


 
DVM ©   (2006-04-03 16:30) [3]


> Сергей М. ©   (03.04.06 12:01) [2]


> Может и есть.
> Смотря о чем речь ..

Собственно, вызовы следующих функций во вторичных потоках не нуждается в каких-либо дополнительных действиях (например, оборачиванием в критические секции или еще что)
WSAStartUp(), socket(), CloseSocket(), send(), inet_addr(), select(), ioctlsocket(), recv()
Часто в литературе встречаю упоминания, что мол TClientSocket -потокобезопасный класс, а для использования winsock напрямую необходимо в многопоточном приложении предпринимать специальные меры. Но нигде не пишут какие. Сейчас у меня все работает и так.

> При IsMultithread = true - да, потокобезопасные.

Ясно.

> Это все равно что "немного беременная"..

:) Юмор ценю, но именно немного нестабильно. Ошибку можно было ждать сутками - и она возникала совершенно непредсказуемым образом. Чаще всего поток загибался без разговоров, выдачи сообщений и т.д. Иногда останавливался. Сейчас же работает.

> Формулировка темы вопроса вряд ли тянет на иное.

Отчасти согласен, не уточнил суть вопроса.



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
9-1128434814
3d[Power]__
2005-10-04 18:06
2006.04.16
Простая физ симуляция


2-1144038764
Рома
2006-04-03 08:32
2006.04.16
TreeView


2-1143713097
Yegorchic
2006-03-30 14:04
2006.04.16
CheckBox.Caption в 2 строки


2-1144140665
ANB
2006-04-04 12:51
2006.04.16
Как в TRichEdit воткнуть картинку (если можно) ?


4-1137259089
Guest386x
2006-01-14 20:18
2006.04.16
Блокирование клавиатуры