C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Два потока на одну функцию — каждому своя или..., ...групповуха?
Daemon
Отправлено: 27.09.2004, 15:20


Ученик-кочегар

Группа: Участник
Сообщений: 13



Насколько я знаю, при обращении программы к функции осуществляется переход к коду этой функции. Так получилось, что в моей программе к одной и той же функции и возможно в одно и то же время обращаются два потока. Как в этом случае происходит обработка такой ситуации. Код функции по прежнему один и тот же или для каждого потока создается своя копия. Если один и тот же, то нужно ли тогда делать эту функцию inline?

Заранее благодарен, с уважением, Андрей.
Konstantine
Отправлено: 27.09.2004, 16:24


Мастер участка

Группа: Модератор
Сообщений: 545



процессор в защищённом режиме разделяет код и данные и каждый из них находится в своём типе сегментов. поэтому при многозадачности и рекурсивном вызове функций код может находится в одной копии, и обрабатываться разные данные.

поэтому если у тебя не используются общие данные и тем более свойства (property) компонент — смело можно вызывать из неск. потоков.

P.S.: Как ты думаешь что такое DLL и как они работают...

Вернуться в Вопросы программирования в C++Builder