powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Один поток считает, другой - рисует - исключение
3 сообщений из 28, страница 2 из 2
Один поток считает, другой - рисует - исключение
    #38766146
немокэп422
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ilya81К этому полю класса, в котором хранится указатель на копию коллекции, получается многопоточный доступ, но для указателя по идее должно хватить volatile, блокировки здесь вряд ли нужны.
А, ну, т. е. совсем без volatile или lock такое оставлять нельзя. Я вот этого и добивался услышать - что так или иначе, а синхронизирующий костылик использоваться придётся.

В моём же случае разве что OutOfMemoryException может досаждать. Но и тут, на мой вгзляд, достаточно проверять, на сколько заполнилась очередь - можно элементарно ограничить длину этого буфера. Зато в моём решении синхронизации нет вообще, как и прочих проблем многопоточности.

Надо и так, и так попробовать, сравнить.
...
Рейтинг: 0 / 0
Один поток считает, другой - рисует - исключение
    #38766171
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я всё-таки рекомендую побольше почитать на тему многопоточных приложений, ибо lock и volatile имеют совершенно разное назначение. Оператор lock обеспечивает, что внутри соответствующего блока может находиться не более одного потока одновременно. Ключевое слово volatile этого не обеспечивает, его основное назначение - предотвратить буферизацию значения переменной в контексте одного потока, при которой один поток может не получить изменения, выполненного в другом потоке. В данном случае volatile не сильно критично, его неиспользование может привести лишь к тому, что отрисовка выполнится по устаревшим данным, т. е. проигнорируются сколько-то обновлений. Ну и ещё одним косвенным последствием неиспользования volatile в этом случае станет дополнительный расход памяти на лишнюю копию коллекции, поскольку неактуальное значение указателя в некотором потоке будет препятствовать удалению этой коллекции из памяти garbage collector'ом.
...
Рейтинг: 0 / 0
Один поток считает, другой - рисует - исключение
    #38766308
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для анимации есть класс Animation, который можно переопределить как душе угодно. Где используется тот же диспатчер таймер
...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Один поток считает, другой - рисует - исключение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]