У меня есть проект для домашних животных, над которым я работаю, у которого есть несколько рабочих потоков. Вывод всего на консоль становится все труднее, поэтому я хочу разработать интерфейс, который будет иметь одну область вывода на поток. Я хочу знать, как наилучшим образом потоки могут отправлять обновления в пользовательский интерфейс. У меня есть две идеи:Обновление пользовательского интерфейса из нескольких рабочих потоков (.NET)
1) У каждого потока установлен флаг «DataUpdated», когда доступны новые данные, и пользовательский интерфейс периодически проверяет наличие новых данных.
2) Создайте каждый поток с обратным вызовом метода обновления пользовательского интерфейса (...), который будет вызываться при появлении новых данных.
В настоящее время я склоняюсь к (2) по двум причинам: мне не нравится идея «проверки» каждого потока, и потому что это мое первое многопоточное приложение и (2) кажется более простым, чем это возможно. Я хочу знать:
- Какой вариант предпочтительнее с точки зрения простоты и эффективности?
- У вас есть какие-либо советы по реализации (2) или что-то в этом роде (т. Е. Больше событий)?
Отлично ... спасибо! Теперь мне просто нужно подождать, чтобы оставить свою дневную работу, чтобы я мог заниматься каким-то настоящим программированием. – iandisme
Выполняйте эту работу в Compact framework (3.5). – Royal