|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.03.2015, 23:41 | #1 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 36
|
асинхронность многопоточность
Здравствуйте, расскажите пожалуйста доходчивым языком в чем разница, между использованием асинхронных методов и созданием потоков через thread, как я понял пользоваться асинхронностью правильнее ибо используются свободные потоки из пула потоков и пул управляет ими эффективней и т.д.
|
11.03.2015, 23:54 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вы про async/await что ли?
Ну основное отличие (и цель их введения) в том, что так проще писать код, не?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
12.03.2015, 08:49 | #3 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 36
|
Я не именно про async/await я вообще про всю асинхронность в целом.
А async/await по моему да, просто проще позволяет писать. |
12.03.2015, 10:09 | #4 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Асинхронность не подразумевает использование пула потоков вообще никак. Там внутри никто не запрещает сделать свой Thread.
При этом у использования пула есть как преимущества, так и недостатки: +: легковесные потоки, так как они уже созданы. не тратятся ресурсы на их создание то бишь -: если все потоки из пула заняты, вы можете ждать своей очереди очень очень долго (Thread же будет работать в любом случае)
Изобретатель велосипедов
|
12.03.2015, 10:59 | #5 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 36
|
понятно что никто не запрещает создать thread в асинхронном методе, я полагал что если мы создаем асинхронный метод, то сначала будет найден свободный поток в пуле и этот метод будет выполняться в одном из свободных поток пула, а если как вы говорите "Асинхронность не подразумевает использование пула потоков вообще никак." то тогда где будет выполняться асинхронный метод?
вот цитирую с один из множества сайтов которые последние 2 дня читаю по этой теме"Для асинхронного вызова чего-либо каркасу нужен поток для выполнения работы. Текущий поток не подходит, потому что это сделало бы вызов синхронным (блокирующим). Вместо этого среда выполнения ставит в очередь запрос на выполнение функции в потоке из пула потоков .NET. " то есть в моем понимании сейчас сложилось так, в пуле потоков вроде около 1000 потоков свободно, следовательно если задача подразумевает создание не очень большого количества потоков и мы знаем что при выполнении мы будем занимать например 100 потоков то лучше использовать асинхронные методы которые будут использовать пул, а раз используем пул то экономим ресурсы, но если мы знаем что при решении задачи может создавать очень большое количество потоков и есть опасность в том что будет тратиться время на ожидание свободных потоков из пула то лучше использовать thread и создавать столько сколько нам нужно. Последний раз редактировалось datgen; 12.03.2015 в 11:11. |
12.03.2015, 12:03 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
асинхронность означает что действие запущено на выполнение и выполняется отдельно.
где и кем не оговаривается, это может быть вообще другая машина. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.03.2015, 23:37 | #7 | ||
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Цитата:
Насчет Цитата:
Изобретатель велосипедов
|
||
30.05.2018, 15:32 | #8 | |
Участник клуба
Регистрация: 20.02.2015
Сообщений: 1,226
|
Цитата:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
многопоточность | blacktener | Общие вопросы по Java, Java SE, Kotlin | 1 | 25.07.2012 13:18 |
Многопоточность | t2skler | Общие вопросы C/C++ | 4 | 16.04.2012 14:24 |
Многопоточность | nats | C# (си шарп) | 5 | 25.06.2011 11:51 |
Многопоточность | Dezmont_ | Общие вопросы .NET | 1 | 06.11.2010 18:34 |
Синхронность и асинхронность | Kapitann | Свободное общение | 10 | 06.08.2010 12:23 |