<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770873</guid>
        <pubDate>Fri, 01 Jun 2018 15:09:55 +0000</pubDate>
        <title>Два потока одно ядро</title>
        <link>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770873</link>
        <description><![CDATA[JoeUser: <strong class='tag-b'>settler</strong>, объясню на пальцах. Однозначного ответа нет. Ибо данный вопрос зависит напрямую от контекста решаемых задач. Это аксиома&#33;<br>
<br>
А вот теперь объяснение ...<br>
<br>
Комп, в процессе соей работы, может выполнять ряд разнотипных задач - вычисления, ввод-вывод, передачу по сети, передачу на устройства &amp; etc. Некоторые задачи можно выполнять асинхронно. Именно на них и базируется попытка получения профита при многопоточном, да и много-процессном выполнении. Возьмем к примеру ввод-вывод на современном RAID-контроллере. Задачу по записи достаточно большого объема информации он решает асинхронно. Но&#33; Пока он ее решает - комп (вернее CPU и прочие устройства могут выполнять иные функции). При решении задач общего характера - это учитывать надо... Вощем см. <a class='tag-url' href='https://ru.stackoverflow.com/questions/609709/%d0%9f%d0%be%d1%87%d0%b5%d0%bc%d1%83-%d0%b2%d0%be-%d0%bc%d0%bd%d0%be%d0%b3%d0%be%d0%bf%d0%be%d1%82%d0%be%d1%87%d0%bd%d1%8b%d1%85-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f%d1%85-%d0%bd%d1%83%d0%b6%d0%bd%d0%be-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d1%82%d1%8c-n1-%d1%80%d0%b0%d0%b1%d0%be%d1%87%d0%b8%d1%85-%d0%bf%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%b2/609724#609724' target='_blank'>мой пост на RuSO</a>, там многозадачность расписана, а потоки это или процессы - дело десятое.]]></description>
        <author>JoeUser</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770715</guid>
        <pubDate>Wed, 30 May 2018 19:55:23 +0000</pubDate>
        <title>Два потока одно ядро</title>
        <link>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770715</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412873&view=findpost&p=3770697'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pavia &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T18:15:05+00:00">30.05.18, 18:15</time></span><div class='quote '>А вот если поток ждёт внешнее событие, то тут многопоточность будет быстрее.</div></div><br>
To есть если ожидание(thread sleep)  больше чем переключения потока плюс время на синхронизацию ? тогда с потоками быстрее?  так?<br>
<br>
A если алоцируешь память, скажем один раз блок в 10 мега или 10раз по одному<br>
мега, или 100 раз по 100кило байт, тогда как ? Thread stack тут поможет ?]]></description>
        <author>settler</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770697</guid>
        <pubDate>Wed, 30 May 2018 18:15:05 +0000</pubDate>
        <title>Два потока одно ядро</title>
        <link>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770697</link>
        <description><![CDATA[Pavia: Если поток обрабатывает цифры то будет однозначно меньше так как времени процессор будет тратить меньше. А вот если поток ждёт внешнее событие, то тут многопоточность будет быстрее. Правда если ожидание события можно заменить на асинхронный вызов или периодический опрос, то тогда однопоточный вариант будет  выигрывать. Так как по помимо переключения потока потоки ещё тратят время на синхронизацию. А синхронизация основана барьерах, которые задерживают приостанавливают поток на время. Да и вопрос синхронизации довольно сложный так как в нём могут возникать гонка процессов и дедлок - т.е. из-за кривой архитектуры многопоточное приложение может зависать и это плохо поддаётся тестированию.]]></description>
        <author>Pavia</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770680</guid>
        <pubDate>Wed, 30 May 2018 15:19:03 +0000</pubDate>
        <title>Два потока одно ядро</title>
        <link>https://forum.sources.ru/index.php?showtopic=412873&amp;view=findpost&amp;p=3770680</link>
        <description><![CDATA[settler: или наоборот медленнее , а если не два потока а 4 или 18?<br>
Вопрос из интервью, мне кажется он задачи зависит , ну понятно <br>
что на switch context потеря будет, а когда  профит будет или не будет.<br>
на всакий случай еще раз условие - <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ядро одно</div></div>. <br>
<br>
Это на прямую к С/С++ не относиться, но другого места я не нашел  .<br>
Просьба без холиваров  ;)]]></description>
        <author>settler</author>
        <category>Software Design</category>
      </item>
	
      </channel>
      </rss>
	