Comments 9
Можно было сделать то же самое, используя BlockingCollection. Мне кажется, код выглядел бы понятнее.
Эту задачу легко решить в COM задав определенные параметры апартамента. Подозреваю в .Net это также должно быть легко даже без использования interop методов.
Неплохо, но в этом конкретном случае имхо проще сделать свой поток, который просто будет ожидать поступления новых элементов. А чтобы поток не крутился в вечном цикле, управлять им при помощи EventWaitHandle. Остановка потока производится аналогично, — устанавливаем isStopped в true и вызываем waitHandle.Set(). Поток просыпается и понимает, что ему приказано умереть. Этот подход прост и более универсален, поскольку не требует зависимости от WPF.
А он и не крутится. Я предполагаю что механизм Dispatcher'а работает так как вы описали и является стандартным средством для решения таких вопросов. Началось все с того что сделал реализацию руками, а уже потом решил поискать готовые решения.
Да зависимость от WPF действительно присутствует, но я разрабатывал именно WPF приложение.
Да зависимость от WPF действительно присутствует, но я разрабатывал именно WPF приложение.
Sign up to leave a comment.
Организация очереди обращений к native библиотеке из управляемого кода средствами Dispatcher