Вниз
Скачать: 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.024 c
3-1140270719
John_Doe
2006-02-18 16:51
2006.04.16
Перенос значения функции AVG из SQL - в Delphi


2-1143658106
jeneka
2006-03-29 22:48
2006.04.16
как работать с tdbcombobox?


15-1143085953
Pavluha
2006-03-23 06:52
2006.04.16
Компоненты XComm и XModem


15-1143490048
fann
2006-03-28 00:07
2006.04.16
давно не работал с делфи, продскажите..


15-1143182243
Vlad Oshin
2006-03-24 09:37
2006.04.16
Под чего бы пристроить Piii 800Mhz 256ram 2scsi винта по 18Gb




   Наверх