2009-07-29 2 views
-1

Я новичок в wpf threading, теперь, когда у нас есть классы рабочего стола и диспетчера, классические проблемы с потоками winforms больше не являются проблемой?wpf threading, backgroundworker, dispatcher

ответ

2

У меня много опыта работы с потоками в профессиональной ситуации, в том числе довольно много с WPF, и я могу сказать вам, что он не решает ни одну из этих проблем.

Это лучше, чем winforms, поскольку диспетчер дает вам более четкое представление о модели потоков, но это не намного больше.

Существует не так уж много, что он мог сделать, даже если бы захотел. Threading - неотъемлемо сложная и уродливая вещь, и вы не можете просто волшебным образом уйти с несколькими библиотеками GUI.

10

У вас все еще есть все этих проблем. WPF не волшебным образом решил проблему с потоками. Это просто дает вам еще несколько инструментов для использования. BackgroundWorker существует некоторое время, и хотя он полезен, он по-прежнему максимально подходит для устранения тупиков, условий гонки и т. Д. Лучшим средством устранения проблем с потоками является, как всегда, тщательная разработка и тщательная отладка.

+8

Тот факт, что он «студент» (а не «только студент»), не дисквалифицирует его от предоставления очень действительного ответа. Я думаю, что комментарий невостребован, пожалуйста, удалите его. – jvanderh

+0

Хахаха Я могу быть «просто студентом», но у меня есть опыт работы в WPF через мою стажировку. Кроме того, как «просто студент», я знаю, что это проблемы INHERENT для потоковой передачи и не могут быть исправлены с помощью библиотек. – Charlie

+1

Этот ответ правильный. Здесь нет никакой магии. Вы по-прежнему несете ответственность за понимание этих концепций и снижение рисков. Если вы заблокируете ресурс или напишите в общем местоположении, лучше всего, чтобы у вас были ваши утки подряд - это подходит для любой модели потоковой передачи. Независимо от того, записываете ли вы свой код в качестве домашнего задания или заданий на работу ;-) –

Смежные вопросы