![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Синхронизация доступа в нитях [D7]
Skywalker © (2004-10-01 12:16:00)Мастера проверьте мои размышления. Есть процесс и в нем две нити, нити имеют доступ к некоторой общей функции объявленной в другом юните. В данной ситуации переменные, передающиеся в функцию как параметры будут безопасными, так как передаются через стек, а локальные переменные этой функции будут небезопасными, потому что память для них выделяется при компиляции. Я правильно размышляю?
Erik1 (2004-10-01 17:27:00) [1]"каждый запрос регистрируется в базе" - это сильно, а не боися, что база невыдержит такой нагрузки? Я бы в текстовой фаил писал, а после заливал его в базу. Да и реализовать такое поще.
Digitman (2004-10-01 13:27:00) [2]
> конфликты транзакций deadlock, я так понимаю при попытке
> одновременной вставки
дэдлоки в ИБ возникают совсем по иной причине
читай статьи на ibase.ru
Skywalker (2004-10-01 12:55:00) [3]спс, просветили ))
я делаю веб-модуль для ISAPI, и при большой нагрузке на него вываливаются Inernal Server Error 500, явно тут ошибка в синхронизации данных каждой нити... у кого есть опыт - поделитесь, где могут быть подводные камни? модуль соединяется с базой данных интербэйс, каждый запрос регистрируется в базе и иногда возникают конфликты транзакций deadlock, я так понимаю при попытке одновременной вставки, вобщем куча всяких неясностейю..
Digitman (2004-10-01 12:38:00) [4]
> локальные переменные этой функции будут небезопасными, потому
> что память для них выделяется при компиляции
память под лок.переменные функции выделяется в ран-тайм в стеке того треда, который вызвал функцию
Суслик (2004-10-01 12:18:00) [5]
> правильно размышляю?
нет
все безопасно