Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А собственно почему бы про флаг не прочитать в документации? На https://en.cppreference.com . И примеры с обсуждением на stackoverflow.com. Я обычно эти источники информации использую, что и Вам советую.
А чего тогда встревать в разговор, если за слова не отвечаете? Меня интересовало ваше мнение, а не умных дядек из справочника. Проходите и не мешайте. Доки я без ваших указаний могу почитать. А для вызова функции в одном потоке мне не нужен весь этот зоопарк из future/promise/async.
А чего тогда встревать в разговор, если за слова не отвечаете? Меня интересовало ваше мнение, а не умных дядек из справочника. Проходите и не мешайте. Доки я без ваших указаний могу почитать. А для вызова функции в одном потоке мне не нужен весь этот зоопарк из future/promise/async.
Чепуху какую то несете. Вы не знаете, я Вам подсказал, где информацию найти. И оказался виноват. Чаще дружите с книгами.
Видимо и сами не знаете. Зачем писать ни о чём? Может и не знаю, чего в этом такого? Спросил по нормальному мнение, он меня в ответ послал куда-то.
В чёрный список, товарищ.
Видимо и сами не знаете. Зачем писать ни о чём? Может и не знаю, чего в этом такого? Спросил по нормальному мнение, он меня в ответ послал куда-то.
В чёрный список, товарищ.
Никуда я вас не посылал, даже и в мыслях не было. Своими словами я отвечаю на такие вопросы плохо, вот и написал про документацию. Опять таки, что тут такого, на что обижаться? Но как хотите, в черный, так в черный.
Ну документация по этому поводу мало полезна
Нафига такое чудо надо - я не очень понимаю, я спокойно могу передать указатель на функцию в нужный мне поток и там его вычислить без всяких там async( std::launch::deferred).
может быть оффтоп, но:
заметил, что часто примеры от Майкрософт пишутся в виде самодокументированных кодов, поэтому и пишут громоздкие конструкции, которые можно раскрыть и подменить конечным значением ( ну типа вот видишь код, и все влёт понял ))) )
ЗЫ: в примерах по C# к сожалению все не так, несколько раз писал на C# с уверенностью, что это, по сути, аналог С++ с некой склонностью обязательного применения ООП, оказалось, что все совсем не так, никакой это не С++, часто нельзя "добраться" до полей класса без кастинга к базовому классу, поэтому и нужно использовать длинные громоздкие конструкции, в общем разбор готовых библиотек под С# - то еще приключение!
Обратите внимание, по умолчанию эти два флага применяются совместно deferred | async, что снимает ответственность с разработчика. Тут то речь об основной функции потока, ну да, можете в аргументах передать ей что угодно, в т.ч. и указатель на функцию, или функтор. А флаг deferred может подразумевать вообще синхронное выполнение этой функции. Ну вот, я же говорю, что плохо своими словами отвечаю на такие вопросы ) Каша получается. Обычно, все оставляешь по умолчанию и этими флагами просто не заморачиваешься, может это и не правильно.
ЗЫ: в примерах по C# к сожалению все не так, несколько раз писал на C# с уверенностью, что это, по сути, аналог С++ с некой склонностью обязательного применения ООП, оказалось, что все совсем не так, никакой это не С++, часто нельзя "добраться" до полей класса без кастинга к базовому классу, поэтому и нужно использовать длинные громоздкие конструкции, в общем разбор готовых библиотек под С# - то еще приключение!
Ну документация по этому поводу мало полезна
Нафига такое чудо надо - я не очень понимаю, я спокойно могу передать указатель на функцию в нужный мне поток и там его вычислить без всяких там async( std::launch::deferred).Ну, например, тебе надо, что бы функция вычислила значения с текущими параметрами на стеке, но не сейчас и не в этой области видимости. Вот ты и создаешь std::asinc, но, вот засада, один из параметров - это ссылка или указатель на глобальную переменную, но в расчетах нужно будет не текущее значение этой переменной, а то, которое будет потом, вот для этого и сделаны битовые маски std::lounch::asinc и std::lounch:: deferred и дана возможность передать значение в функцию сейчас, а расчеты выполнить потом.
Ну так я могу взять функцию, которую передаю в async, забайндить к ней аргументы, и хранить до нужного момента, когда пора вызвать (или отправить другому потоку). Какая разница - хранить future или выхлоп от std::bind()?
Единственное разумное объяснение, которое приходит мне в голову - ручной контроль за количеством работающих потоков в пуле (если не доверяем дефолтному async|deferred) - например, видим что система сильна загружена, пересатаём отправлять задания с флагом async, шлём deferred.
Ну а в целом я несколько разочарован тормознутостью async(), будет время состряпаю свой легковесный пул потоков, мне кажется, что это будет много быстрее.