![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| XSInet |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
Здравствуйте, не могли бы вы ответить на такой вопрос:
Если 2 потока обратятся к одной функции одновременно (каждый поток со своими параметрами вызовет функцию), то к потокам вернуться нормальные результаты или неверные. Если с одной функцией будет работать много потоков одновременно, то все потоки получат верный результ ? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Результат будет зависить от того будет ли использовать функция какую нибудь глобальную переменную не помещенную в защищеную секцию, если да, то результат будет непредсказуеммым, а в остальном каждый поток будет иметь свои локальные переменные, а значит данные не перемешаются.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
XSInet, что за функция-то? Код покажи, или хотя бы опиши что делает.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Функция нормально отработает без проблем.
Исключение будет только в случае, если сами функции будут использовать данные чужих тредов. Локальные переменные функций к таковым не относятся. |
|||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Да пожалуй всё сказано.
Если функция обходится только -входными параметрами -своими локальными переменными -чтением глобальной переменной то можно смело юзать. Вопросы могут возникнуть, если -функция может изменять какую нить глобальную переменную или прочий глобальный ресурс. В таких случаях, если возможно, создай поле, соответствующее этой глобальной переменной внутри потока, и скопируй туда её значение - пусть изменяет на здоровье. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |