Главная страница
    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.45 MB
Время: 0.058 c
15-1143462967
stone
2006-03-27 16:36
2006.04.16
Работа и жизнь...


2-1143885703
Dyakon_Frost
2006-04-01 14:01
2006.04.16
Проблемы с StringGrid


2-1144020067
Leshas
2006-04-03 03:21
2006.04.16
Выделенная ячейка в StringGrid


2-1143722555
Колобок
2006-03-30 16:42
2006.04.16
TFileStream


2-1143629509
alk
2006-03-29 14:51
2006.04.16
Посылка параметров из клиента DCOM к серверу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский