![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Thread и CriticalSection [D7, XP]
Alex_C © (2009-04-10 18:05:00)Хотелось бы получить у много уважаемых гуру ответ на следущий вопрос: в каких случаях в многопоточных приложениях вместо CriticalSection нужно использовать мютексы и события? Прочитал много литературы, но там либо очень размыто сказано, либо не до конца понятно.
Более конкетизирую вопрос:
есть ф-ция делающая поиск в БД. Когда к этой ф-ции обращаюсь из разных потоков, чтоб не возникало проблемы одновременного обращения к БД, внутри этой ф-ции я так понимаю CriticalSection использовать нельзя?
Alex_C (2009-04-10 19:01:00) [1]То Rouse_ : Огромное спасибо!
Rouse_ (2009-04-10 18:46:00) [2]
> И ограничений никаких нет?
> Читай Рихтера.
http://rouse.drkb.ru/books.php#rihter
Alex_C (2009-04-10 18:37:00) [3]
> Внутри вашей функции можно использовать критические секции.
Спасибо за информацию. Т.е. говоря другими словами внутри одного приложения везде можно использовать CriticalSection? И ограничений никаких нет?
Григорьев Антон (2009-04-10 18:20:00) [4]Критические секции быстрее. Мьютексы имеют следующие преимущества:
1. Возможность ожидания сразу нескольких мьютексов или мьютексов и других объектов синхронизации в WaitForMultipleObjects.
2. Возможность использования именованных мьютексов для синхронизации нитей из разных процессов.
Исходя из этого вы и выбираете, что использовать в конкретном случае.
Внутри вашей функции можно использовать критические секции.
Alex_C (2009-04-10 18:19:00) [5]
> Читай Рихтера
В инете ссылочку не дашь?
Palladin (2009-04-10 18:18:00) [6]Читай Рихтера.