Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1144123128
Diller
2006-04-04 07:58
2006.04.16
Screen Shot


1-1141992346
abhtr
2006-03-10 15:05
2006.04.16
Ошибка при формирвании отчета в Word2000


2-1143717817
vvv_spb
2006-03-30 15:23
2006.04.16
TDBLookupComboBox


3-1140516501
dreamse
2006-02-21 13:08
2006.04.16
как выбрать Select с таблицой DataTime ?


15-1143319258
Lex Luthor
2006-03-25 23:40
2006.04.16
C++Builder




   Наверх