Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.43] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 141 142 [143] 144 145 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#2131
,
|
|
|
|
Цитата Бобёр @ Эти асинхронные таски устроены примерно так. На вход ты передаёшь какие то данные (лучше копии ), таска работает в контексте другого потока и поэтому ЛУЧШЕ не синхронизированно какие то данные основного потока не трогать. Если трогаешь - приготовься к .. ээ.... ХУДШЕМУ. Однако в самой таске после ключевого слова then мы уже находимся В ОСНОВНОМ ПОТОКЕ, и уже можно из самой таски трогать основные данные НЕ СИНХРОННО! BINGO! Т.е. это по сути такая очень прикольная обёртка над старым добрым потоком, только не надо заниматься каждый раз мастурбациями в стиле Ну таки да. Соломку подложили. Молодцы, чо! Но, блин, всё равно бомба замедленного действия. |
|
Сообщ.
#2132
,
|
|
|
|
Скорее это не соломка, а очень сладкий синтаксический сахар.
|
|
Сообщ.
#2133
,
|
|
|
|
Цитата Бобёр @ Скорее это не соломка, а очень сладкий синтаксический сахар. Ага. Главное, не забыть (или хорошо знать), где чего можно, и чего нельзя. |
|
Сообщ.
#2134
,
|
|
|
|
Flex Ferrum, у тебя есть мнение по поводу "правильной асинхронности"?
|
|
Сообщ.
#2135
,
|
|
|
|
Цитата D_KEY @ Flex Ferrum, у тебя есть мнение по поводу "правильной асинхронности"? Такой не бывает. У каждого подхода есть свои плюсы и минусы, которые Бобёр любезно озвучил. Просто разработчик должен быть осведомлён об особенностях работы с асинхронными моделями. А как показывает практика, такая осведомлённость достигается чаще всего ценой собственных ошибок. Добавлено И сделать асинхронность на базе пула потоков абсолютно безопасной для неаккуратного пользователя, ИМХО, невозможно. |
|
Сообщ.
#2136
,
|
|
|
|
Цитата Flex Ferrum @ Ага. Главное, не забыть (или хорошо знать), где чего можно, и чего нельзя. ![]() Слушай, а в нашей профессии было когда нибудь по другому? |
|
Сообщ.
#2137
,
|
|
|
|
Цитата Flex Ferrum @ Цитата D_KEY @ Flex Ferrum, у тебя есть мнение по поводу "правильной асинхронности"? Такой не бывает. У каждого подхода есть свои плюсы и минусы, которые Бобёр любезно озвучил. Просто разработчик должен быть осведомлён об особенностях работы с асинхронными моделями. А как показывает практика, такая осведомлённость достигается чаще всего ценой собственных ошибок. Добавлено И сделать асинхронность на базе пула потоков абсолютно безопасной для неаккуратного пользователя, ИМХО, невозможно. Вообще - согласен. Потому и думаю, почему бы вообще не послать асинхронность и не использовать легковесные потоки по типу того же Go или даже Erlang'а? |
|
Сообщ.
#2138
,
|
|
|
|
Цитата Бобёр @ Слушай, а в нашей профессии было когда нибудь по другому? Производители некоторых средств разработки считают, что бывает. Что, типа, можно "сесть и поехать" и "нет ничего сложного". Правда, из этого получается костыльный говнокод, но кого это заботит? |
|
Сообщ.
#2139
,
|
|
|
|
Цитата MyNameIsIgor @ и не использовать легковесные потоки по типу того же Go или даже Erlang'а? Скорее по типу того же Erlang'а или даже Go |
|
Сообщ.
#2140
,
|
|
|
|
Цитата D_KEY @ Цитата MyNameIsIgor @ и не использовать легковесные потоки по типу того же Go или даже Erlang'а? Скорее по типу того же Erlang'а или даже Go ![]() Я говорю с колокольни императивных и всё же достаточно низкоуровневых языков. Потому и получился такой порядок, к сожалению |
|
Сообщ.
#2141
,
|
|
|
|
Цитата D_KEY @ Скорее по типу того же Erlang'а или даже Go ![]() Ну так там и функции преимущественно "чистые", без сайд-эффектов. В обычных императивных такое редко случается. |
|
Сообщ.
#2142
,
|
|
|
|
Цитата Flex Ferrum @ Ну так там и функции преимущественно "чистые", без сайд-эффектов. В обычных императивных такое редко случается. В эрланге -- да, в Go -- нет. Добавлено Цитата MyNameIsIgor @ Я говорю с колокольни императивных и всё же достаточно низкоуровневых языков. Потому и получился такой порядок, к сожалению ![]() А еще и типизация разная... |
|
Сообщ.
#2143
,
|
|
|
|
Кстати. Асинхронные таски имени WinRT можно удобно cancel-ить, задавать таймаут и т.п. Я ещё не понял, происходят ли при этих действиях утечки памяти/ресурсов, скоро пойму.
В "старом", обычном пуле потоков эти действия опасны для здоровья |
|
Сообщ.
#2144
,
|
|
|
|
Цитата korvin @ в Go -- нет. Ты случаем не знаешь, как он сейчас мапит goroutines на треды? |
|
Сообщ.
#2145
,
|
|
|
|
Цитата Бобёр @ Кстати. Асинхронные таски имени WinRT можно удобно cancel-ить, задавать таймаут и т.п. Я ещё не понял, происходят ли при этих действиях утечки памяти/ресурсов, скоро пойму. Кстати, QFuture QT'шные тоже можно канселять. Только ты в коде реализации функции должен предпринимать некоторые усилия, чтобы поймать этот cancel. |