Сообщение Мутекс и GUI ... обьясните что происходит!!! от 07.12.2020 13:46
Изменено 08.12.2020 6:14 vvv848165@ya.ru
Мутекс и GUI ... обьясните что происходит!!!
... InvokeAsync помогло ... но как-то непонятно — если GUI будет постоянно загружен своей работой (например перерисовкой)- то вызванное через InvokeAsync не выполнится?
Мутекс и GUI ... обьясните что происходит!!!
есть такой код
lock (lock_obj)
{
this.Dispatcher.Invoke(() =>
{
...
MessageBox.Show(...);
});
}
Под Дебагером работает, а вот без него (при тех-же условиях) виснет намертво (lock (lock_obj) — не отпускает и окно не показывает)
В чём прикол ??? и как разрулить, неособо переделывая?
Конечно еслиб вызов this.Dispatcher.Invoke убрать из под lock — то поможет — но мне так неудобно — слишком много переделывать...
Зарание спасибо!!!
... InvokeAsync помогло ... но как-то непонятно — если GUI будет постоянно загружен своей работой (например перерисовкой)- то вызванное через InvokeAsync не выполнится?
lock (lock_obj)
{
this.Dispatcher.Invoke(() =>
{
...
MessageBox.Show(...);
});
}
Под Дебагером работает, а вот без него (при тех-же условиях) виснет намертво (lock (lock_obj) — не отпускает и окно не показывает)
В чём прикол ??? и как разрулить, неособо переделывая?
Конечно еслиб вызов this.Dispatcher.Invoke убрать из под lock — то поможет — но мне так неудобно — слишком много переделывать...
Зарание спасибо!!!
... InvokeAsync помогло ... но как-то непонятно — если GUI будет постоянно загружен своей работой (например перерисовкой)- то вызванное через InvokeAsync не выполнится?