| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Запуск static функции одновременно из разных мест |
| Автор: bmpa 2.3.2008, 15:42 |
| Что будет, если из нескольких мотоков используется одновременно одна функция. Потоки будут ждать её освобождения или будет одновременное выполнение. Будут ли ошибки при одновременном выполнении? |
| Автор: Injener 2.3.2008, 15:57 |
| Если не будешь синхронизировать должным образом свои потоки, то глюки гарантированы |
| Автор: Voyager 3.3.2008, 11:59 |
Возможны. Нужен механизм синхронизации/залочивания. |
| Автор: Дрон 3.3.2008, 20:27 | ||
| Ошибок самих по себе не будет, но возможны неправильные результаты работы. Чтобы исключить одновременное выполнение я делаю (и MSDN рекомендует) примерно вот так:
При этом внутрь lock не обязательно заключать весь код метода, достаточно лишь определить, что именно представляет угрозу при одновременном исполнении. |