![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
начну, пожалуй с кода
в общем суть такая: пусть у нас есть главный поток и некая функция, требующая запуска в отдельном потоке (например делает внутри себя Application.Start(new form())) - она у меня имитирована Sleep-ом на 10 секунд. При этом ставится условие: нельзя вызывать две функции одновременно (singleton). Собственно вопрос: почему в foo() мьютекс ведет себя "как задумано", а в foo2() ведет себя не так как надо. Или (скорее всего) я недопонимаю сути мьютекстов.... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
jonie, а что именно в foo2 должно помешать работать второму потоку? WaitOne в нем ты вызываешь из одного и того же - главного - потока. Этот поток после первого вызова WaitOne владеет мьютексом, и при повторных вызовах WaitOne просто продолжает владеть:
А ReleaseMutex в потоке, который мьютексом не владеет, должен бросить ApplicationException, и бросает в твоем примере после 10 секунд. |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
Ааа... да, я затупил. спасибо.
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |