|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
До сих пор все было хорошо. Создавал несколько backgroundWorker и работал с ними. Вобщем то был доволен. Но тут мне объяснили что это зло. А чем заменить? Thread? Task? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 13:06 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7Вобщем то был доволен. Но тут мне объяснили что это зло. А пояснили почему зло? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 13:46 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7, советую вам поменьше прислушиваться к необоснованным мнениям. Даже в MS на MSDN часто рекомендуют использовать BackgroudWorker. Может это и несколько устаревшая технология, но она работает, значит заслуживает права быть. Зло это давать глупые советы, вот это воистину зло :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:00 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
hVosttjenya7Вобщем то был доволен. Но тут мне объяснили что это зло. А пояснили почему зло? ну вот потому что Roman Mejtes сказал - устаревшая технология. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:15 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
я не знаю что "под капотом" у backgroundWorker. Тут вроде все прозрачно Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:19 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
Почитай Дж. Рихтер CLR via C# . Часть V. Многопоточность. Там все возможные варианты расписаны с плюсами и минусами. Выбери что больше подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:23 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
Dima TПочитай Дж. Рихтер CLR via C# . Часть V. Многопоточность. Там все возможные варианты расписаны с плюсами и минусами. Выбери что больше подходит. спасибо. у меня эта книжка где то есть. поищу. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:28 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7, если не в контексте с UI, действительно, зачем они нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:32 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
Где-то в степиjenya7, если не в контексте с UI, действительно, зачем они нужны? в основном конечно что бы UI не зависал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2015, 14:37 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7, На моем пути тоже бывало встречались люди, который говорили - делай так, как я говорю и даже не спрашивай почему, потом спасибо скажешь =) По существу после выхода в C# 5.0 await/async пользуюсь только им, backgroundworker для меня отошел в историю ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 11:11 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7, В .NET асинхронные вычисления можно запустить следующими способами. 1. класс Thread 2. delegate.BeginInvoke - этот функционал использует BackgroundWorker 3. Task, начиная с C# 5.0 - await/async 4. при помощи реактивных расширений 5. Parallel class, но там тоже внутри таски 6. Как экзотика или на крайний случай, через Win API. Вроде все, дополните если упустил чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 12:15 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
ЕвгенийВjenya7, В .NET асинхронные вычисления можно запустить следующими способами. 1. класс Thread 2. delegate.BeginInvoke - этот функционал использует BackgroundWorker 3. Task, начиная с C# 5.0 - await/async 4. при помощи реактивных расширений 5. Parallel class, но там тоже внутри таски 6. Как экзотика или на крайний случай, через Win API. Вроде все, дополните если упустил чего. я думаю Thread и Task наше все. а какая разница между ними? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 12:22 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7ЕвгенийВjenya7, В .NET асинхронные вычисления можно запустить следующими способами. 1. класс Thread 2. delegate.BeginInvoke - этот функционал использует BackgroundWorker 3. Task, начиная с C# 5.0 - await/async 4. при помощи реактивных расширений 5. Parallel class, но там тоже внутри таски 6. Как экзотика или на крайний случай, через Win API. Вроде все, дополните если упустил чего. я думаю Thread и Task наше все. а какая разница между ними? о! нашел! Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 12:27 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
ЕвгенийВjenya7, В .NET асинхронные вычисления можно запустить следующими способами. 1. класс Thread 2. delegate.BeginInvoke - этот функционал использует BackgroundWorker 3. Task, начиная с C# 5.0 - await/async 4. при помощи реактивных расширений 5. Parallel class, но там тоже внутри таски 6. Как экзотика или на крайний случай, через Win API. Вроде все, дополните если упустил чего.Так же полезно классифицировать по способу выполнения: 1. Thread 2. Thread Pool 3. I/O Completion Port 4. UI Thread ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 15:04 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7ЕвгенийВjenya7, В .NET асинхронные вычисления можно запустить следующими способами. 1. класс Thread 2. delegate.BeginInvoke - этот функционал использует BackgroundWorker 3. Task, начиная с C# 5.0 - await/async 4. при помощи реактивных расширений 5. Parallel class, но там тоже внутри таски 6. Как экзотика или на крайний случай, через Win API. Вроде все, дополните если упустил чего. я думаю Thread и Task наше все. а какая разница между ними?Task - это абстракция, описывающая асинхронную операцию. Thread - это, кроме всего прочего, один из способов запуска асинхронной операции. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 15:43 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
ЕвгенийВjenya7, В .NET асинхронные вычисления можно запустить следующими способами. 1. класс Thread 2. delegate.BeginInvoke - этот функционал использует BackgroundWorker 3. Task, начиная с C# 5.0 - await/async 4. при помощи реактивных расширений 5. Parallel class, но там тоже внутри таски 6. Как экзотика или на крайний случай, через Win API. Вроде все, дополните если упустил чего. Ах да, совсем забыл про ThreadPool. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 17:29 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
Алексей КTask - это абстракция, описывающая асинхронную операцию. Скорее управляющая асинхронной операцией, реализующая запуск, отмену, продолжение, ожидание. Алексей КThread - это, кроме всего прочего, один из способов запуска асинхронной операции. Это некая субстанция описывающая тред в .NET. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2015, 17:32 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
ЕвгенийВАлексей КTask - это абстракция, описывающая асинхронную операцию. Скорее управляющая асинхронной операцией, реализующая запуск, отмену, продолжение, ожидание.описывающая == структура данных + поведение. ЕвгенийВАлексей КThread - это, кроме всего прочего, один из способов запуска асинхронной операции. Это некая субстанция описывающая тред в .NET."Кроме всего прочего" (ц) выше Здесь интересно описание Thread применительно к Task. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 05:01 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
Где-то в степиjenya7, если не в контексте с UI, действительно, зачем они нужны?Оптимизация - уменьшение количества потоков, ожидающих I/O. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 05:03 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7До сих пор все было хорошо. Создавал несколько backgroundWorker и работал с ними. Вобщем то был доволен. Но тут мне объяснили что это зло. А чем заменить? Thread? Task? Я понимаю, конечно, что всё и раньше прекрасно работало. Но ради общего развития и подготовки к будущему рекомендовал бы изучить Task и async/await - BackgroundWorker после этого покажется каким-то узкоспециализированным костылём. Даже если вы не перестанете использовать BackgroundWorker, вы хотя бы будете знать, как вообще в современном дотнете делают многопоточные вещи. В ближайшем будущем без тасков и асинков никуда, а BackgroundWorker сам забудется, как нишевый костыль, который использовали, пока лучше ничего не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 08:06 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
AlexUser987В ближайшем будущем без тасков и асинков никуда Причём, это не только в дотнете - в джаве и джаваскрипте тоже аналоги делают или сделали. Т. е. это очень широкий тренд. Скоро без знания асинков и тасков на работу брать не будут, да и на текущих будут требовать, скорее всего. А скорее всего, уже не берут и требуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 08:08 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
jenya7, Создайте новый проект на WCF или ASP.NET MVC - там асинки по умолчанию в шаблонном проекте. Если вас не напрягает, что вы не понимаете, что это такое и как работает, то всё в порядке. Но я ещё раз вам говорю, что если раньше вам хватало только BackgroundWorker, "чтобы интерфейс не тормозил", то сейчас многопоточность становится (уже стала) таким же базовым навыком, как ООП. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 08:17 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
AlexUser987AlexUser987В ближайшем будущем без тасков и асинков никуда Причём, это не только в дотнете - в джаве и джаваскрипте тоже аналоги делают или сделали. Т. е. это очень широкий тренд. Скоро без знания асинков и тасков на работу брать не будут, да и на текущих будут требовать, скорее всего. А скорее всего, уже не берут и требуют. Да, да, да. Вот наберём в следующем году человек 30 без требования знания асинков и тасков, а дальше все, прикроем лавочку. Ну что за глупости :) Заного зарегистрировался на сайте, чтобы флудить о чем попало? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 08:38 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
AlexUser987Если вас не напрягает, что вы не понимаете, что это такое и как работает, то всё в порядке. Погодите, а без какого рода знаний async/await уже не берут на работу? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 08:41 |
|
Замена для backgroundWorker.
|
|||
---|---|---|---|
#18+
AlexUser987jenya7, Создайте новый проект на WCF или ASP.NET MVC - там асинки по умолчанию в шаблонном проекте. Если вас не напрягает, что вы не понимаете, что это такое и как работает, то всё в порядке. Но я ещё раз вам говорю, что если раньше вам хватало только BackgroundWorker, "чтобы интерфейс не тормозил", то сейчас многопоточность становится (уже стала) таким же базовым навыком, как ООП. я много чего не понимаю как это работает. однако успешно этим пользуюсь. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 12:32 |
|
|
start [/forum/topic.php?fid=20&fpage=71&tid=1400969]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 457ms |
0 / 0 |