|
Вопрос # 1 098/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Можно ли вызывать одну и ту же функцию из разных потоков? (в функции нет вывода на дисплей).
 |
Вопрос задал: ymb62 (статус: Посетитель)
Вопрос отправлен: 6 ноября 2007, 15:27
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, ymb62!
Можно, если:
- нет обращения к общим ресурсам без синхронизации (вывод на дисплей к ним относиться): файлы, сетевые подключения
- не используются глобальные переменные на запись. Хотя лучше вообще без глобальных переменных
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 6 ноября 2007, 15:42
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 6 ноября 2007, 20:56; участников в обсуждении: 4.
|
jackal (статус: Посетитель), 6 ноября 2007, 15:39 [#1]:
Почему бы и нет, могут присутствовать конфликты, к примеру если функция подключает файл, в зависимости от того как организованны потоки, такие ситуации можно избежать при включении условия
|
|
jackal (статус: Посетитель), 6 ноября 2007, 15:58 [#2]:
условия включают использования флагов булевые перем-е можно сделать исключение и сделать их глобальными, бул перем не требовательны и память не кушают, но не беспределить. Сделать их условием если в одном потоке выполняется подключение к файлу(пример) то поставить InPuthReadOk:=true; if InPuthReadok:=false then >>> ну вообщем мутить так
|
|
Вадим К (статус: Академик), 6 ноября 2007, 16:13 [#3]:
для того, что бы розрулить несколько потоков if и буленовских переменных недостаточно. Оператор if не атомарный.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
ymb62 (статус: Посетитель), 6 ноября 2007, 16:22 [#4]:
Спасибо.
|
|
jackal (статус: Посетитель), 6 ноября 2007, 16:26 [#5]:
да, но его нужно установить в функцию которую мы вызовим
|
|
jackal (статус: Посетитель), 6 ноября 2007, 16:28 [#6]:
здесь можно намутить просто четко продумать я представляю как, приду дома попробую... если не усну но через два дня закончу смену и неделю гуляю, вот тода замучу
|
|
Мережников Андрей (статус: Абитуриент), 6 ноября 2007, 20:56 [#7]:
чтобы гарантированно избежать конфликтов между потоками можно использовать критические секции, а не накручивать переменные и исключительные ситуации
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|