По той же причине я давно не пишу комментов на хабре со своим мнением. Мне отминусуют карму люди со своим мнением, что дескридитируем понятие кармы на сайте. Если твоё мнение не совпадает с большинством — быть тебе изгоем. Первое правило Хабра: либо говори как все, чтобы понравиться либо молчи.
Ну, например, необходимо подгрузить и подготовить данные в кэше, пока приложение занимается чем-то другим. То, что приходит в голову на основе всем известных продуктов — есть вот IDE, и она предназначена для C# разработки. И если в ней есть JS код, IDE может также его анализировать, строить AST и прочие вопросы, но фоном: когда нет других задач. На пониженном приоритете.
Task.Start() относится к параллельной вселенной. Вы можете создать свой пул потоков, объеденить их в SynchronizationContext, на основе которого создать TaskScheduler и все таски, заассайненные на него начнут крутиться в вашем пуле. Но мысль понял, опишу :)
Благодарю за конструктивную критику, отправил Вам приглашение на Хабр :)
По первому вопросу — спасибо. Я не нашёл (может не там искал) хорошей статьи по HT. Тема, как говорится, не раскрыта. Дадите источник, с удовольствием дополню абзац.
По второму — по кооперативной и вытесняющей уточнил в статье: возможны оба варианта.
Я вас понял. Но в текущей ситуации все потоки эмулируют параллелизм относительно каких-то других. Нынче почти нет вероятности получения непрерывного отрезка времени, большего чем квант. Активных потоков на одном ядре всегда больше одного. Даже если поток_1 и поток_2 находятся на разных ядрах, вероятность их чисто параллельного исполнения крайне мала: помимо них на ядрах есть другие и попасть в один квант — скорее большая удача (особенно если учесть постоянное динамическое повышение приоритетов и динамическое изменение длинны квантов на десктопе и как следствие — изменение этого порядка). От слов покаотказываться не буду: они покрывают 99.99% случаев.
Большинство команд, применяемых при компиляции задействуют 1-2 такта. Процессор не может отработать 1,5 такта. Поэтому даже если замедление и небольшое, для большинство команд оно будет "в 2 раза". Это — раз. Второе — повествование идёт для .NET разработчиков. У нас нет понимания, на каком ядре запущен код. Поэтому нет возможности убедиться, что код работает с одними данными, но, например, не на одном физическом ядре. Этого можно добиться, создав потоки друг за другом, да. Но уверенности это знание не даёт.
если у Вас на машине потоков больше чем ядер (а в современности это практически всегда), расскажите, как несколько потоков будут делить одно ядро без эмуляции параллелизма
Это можно будет наблюдать по увеличению предложения коворкинга. Если его не будет, нет увеличения
А пример какой… чтобы в сорцы не лезть )))
Панель отличная, спасибо
Ну они как обычно: отрубают что захотят. А кто-то в эти приложения силы вкладывал, средства. Прошёл ревью в AppStore
По той же причине я давно не пишу комментов на хабре со своим мнением. Мне отминусуют карму люди со своим мнением, что дескридитируем понятие кармы на сайте. Если твоё мнение не совпадает с большинством — быть тебе изгоем. Первое правило Хабра: либо говори как все, чтобы понравиться либо молчи.
Было бы крайне здорово иметь в нем все доступные функции форматирования типа цвета заголовков. Чтобы не лезть опять в мерзкий HTML ))
Здорово, не знал, что SVG настолько крут
Т.е. можно было взять двушку? :)
Ну, например, необходимо подгрузить и подготовить данные в кэше, пока приложение занимается чем-то другим. То, что приходит в голову на основе всем известных продуктов — есть вот IDE, и она предназначена для C# разработки. И если в ней есть JS код, IDE может также его анализировать, строить AST и прочие вопросы, но фоном: когда нет других задач. На пониженном приоритете.
Task.Start()
относится к параллельной вселенной. Вы можете создать свой пул потоков, объеденить их вSynchronizationContext
, на основе которого создатьTaskScheduler
и все таски, заассайненные на него начнут крутиться в вашем пуле. Но мысль понял, опишу :)Благодарю за конструктивную критику, отправил Вам приглашение на Хабр :)
По первому вопросу — спасибо. Я не нашёл (может не там искал) хорошей статьи по HT. Тема, как говорится, не раскрыта. Дадите источник, с удовольствием дополню абзац.
По второму — по кооперативной и вытесняющей уточнил в статье: возможны оба варианта.
Плюс не ясно, о чем спор: в тексте шла речь про наихудший сценарий
Это не имеет отношения к замедлению отдельных команд.
Я вас понял. Но в текущей ситуации все потоки эмулируют параллелизм относительно каких-то других. Нынче почти нет вероятности получения непрерывного отрезка времени, большего чем квант. Активных потоков на одном ядре всегда больше одного. Даже если поток_1 и поток_2 находятся на разных ядрах, вероятность их чисто параллельного исполнения крайне мала: помимо них на ядрах есть другие и попасть в один квант — скорее большая удача (особенно если учесть постоянное динамическое повышение приоритетов и динамическое изменение длинны квантов на десктопе и как следствие — изменение этого порядка). От слов покаотказываться не буду: они покрывают 99.99% случаев.
Большинство команд, применяемых при компиляции задействуют 1-2 такта. Процессор не может отработать 1,5 такта. Поэтому даже если замедление и небольшое, для большинство команд оно будет "в 2 раза". Это — раз. Второе — повествование идёт для .NET разработчиков. У нас нет понимания, на каком ядре запущен код. Поэтому нет возможности убедиться, что код работает с одними данными, но, например, не на одном физическом ядре. Этого можно добиться, создав потоки друг за другом, да. Но уверенности это знание не даёт.
если у Вас на машине потоков больше чем ядер (а в современности это практически всегда), расскажите, как несколько потоков будут делить одно ядро без эмуляции параллелизма
Искренне желаю не выгореть в 30 ))
Был опыт общения с издателями, когда корректный перевод заворачивали на корню, говоря, что издательству виднее. В том числе и авторский
С Андреем-то хоть советуетесь? Будет не прикольно получить перевод русскоязычного автора от эксперта из издательства, который читать не возможно :)
Ага, до Win10