powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / многопоточность безопасность
3 сообщений из 3, страница 1 из 1
многопоточность безопасность
    #36879273
testing22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть статическое свойство: список, состоящий из экземпляров класса с пятью полями. Первые два поля только для чтения, на их основании формируюся остальные три поля. Но каждое из этих трех полей формируется отдельным потоком (каждый поток читает первые два поля и пишет результат их обработки в одно из трех оставшихся полей. Каждый поток пишет только в свое поле. Является ли происходящее потокобезопасным?

И второй вопрос, если при этом данный список является не списком, а ObservableCollection, забинденным на отображение в окне, которое также идет в отдельном потоке диспетчера окна, то происходящее по-прежнему потокобезопасно? Но где-же тогда вызывать этот диспетчер, для отображения ObservableCollection, ведь, неизвестно, какой из трех потоков закончил работу, а какой нет, и в итоге каждое из трех оставшихся полей отобразится неполностью заполненным (так как потоки еще не заверили работу по заполнению)

Или это все бред, и так делать нельзя, а надо делать для каждого потока свой ObservableCollection и биндить его на свой контрол? То есть для каждого потока сделать свой контрол, и биндить на него результат работы потока?
...
Рейтинг: 0 / 0
многопоточность безопасность
    #36879276
testing22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть там такая штука, что первые два поля обновляются настолько часто, что успеть обработать оставшиеся три поля в этом-же потоке - невозможно.
...
Рейтинг: 0 / 0
многопоточность безопасность
    #36879711
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Для подобной каши идеально подходит Rx.
Описано сумбурно, но
testing22 Но где-же тогда вызывать этот диспетчер, для отображения ObservableCollection,
SubsribeOnDispatcher обеспечит автоматическую диспетчитизацию в UI поток

testing22ведь, неизвестно, какой из трех потоков закончил работу, а какой нет, и в итоге каждое из трех оставшихся полей отобразится неполностью заполненным (так как потоки еще не заверили работу по заполнению)

с помощью опратора Zip можно объединить результаты выполнения трех потоков
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / многопоточность безопасность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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