<?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=412278&amp;view=findpost&amp;p=3763938</guid>
        <pubDate>Fri, 16 Mar 2018 15:35:14 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763938</link>
        <description><![CDATA[JoeUser: :blink: не было такого в моей книжке&#33; <br>Пора &quot;освежать библиотеку&quot;  :lol:]]></description>
        <author>JoeUser</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763927</guid>
        <pubDate>Fri, 16 Mar 2018 15:18:53 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763927</link>
        <description><![CDATA[Flex Ferrum: Паттерн &quot;реактор&quot; и модель акторов чую я&#33;]]></description>
        <author>Flex Ferrum</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763919</guid>
        <pubDate>Fri, 16 Mar 2018 14:25:21 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763919</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412278&view=findpost&p=3763918'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2018-03-16T14:21:23+00:00">16.03.18, 14:21</time></span><div class='quote '>Так то да. Но если появится несколько писателей (в разных потоках), которые захотят транзакциями пощёлкать - то будет очень весесло.</div></div><br>
Эт да. Об этом думал. Но тут, считаю, нужно как-то разруливать по штампу времени. &quot;До&quot; - запускать всех &quot;читателей&quot;. Потом блокировка и запуск одного &quot;писателя&quot;. Ну и далее в том же ключе.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412278&view=findpost&p=3763918'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2018-03-16T14:21:23+00:00">16.03.18, 14:21</time></span><div class='quote '>Да.</div></div><br>
Тож к этому склоняюсь. На сокетах - вычислений нуль (взял, отдал). А вот &quot;воркеры&quot; пусть уже конкурируют. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-03-16T15:13:39+00:00">16.03.18, 15:13</time></span></span><br>
<strong class='tag-b'>Flex Ferrum</strong>, в плане кросс-платформенного асинхронного I/O - чую паттерн &quot;мост&quot; ... я прав или да?  :lol:]]></description>
        <author>JoeUser</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763918</guid>
        <pubDate>Fri, 16 Mar 2018 14:21:23 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763918</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412278&view=findpost&p=3763917'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-03-16T14:19:56+00:00">16.03.18, 14:19</time></span><div class='quote '>Тут я читал, что если &quot;писателей&quot; нет, то читателей параллельных можно наплодить сколь угодно.</div></div><br>
Так то да. Но если появится несколько писателей (в разных потоках), которые захотят транзакциями пощёлкать - то будет очень весесло. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-03-16T14:21:35+00:00">16.03.18, 14:21</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412278&view=findpost&p=3763917'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-03-16T14:19:56+00:00">16.03.18, 14:19</time></span><div class='quote '>Это ты про сетевую подсистему? Типа один поток на неблокирующих сокетах?</div></div><br>
Да.]]></description>
        <author>Flex Ferrum</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763917</guid>
        <pubDate>Fri, 16 Mar 2018 14:19:56 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763917</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412278&view=findpost&p=3763900'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2018-03-16T10:12:12+00:00">16.03.18, 10:12</time></span><div class='quote '>А с SQLite надо иметь в виду, что он не поддерживает одновременных транзакций из разных потоков по одному коннекшену. Это может быть существенным ограничением. </div></div><br>
Тут я читал, что если &quot;писателей&quot; нет, то &quot;читателей&quot; в параллельных потоках можно наплодить сколь угодно, и будет все акейка.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412278&view=findpost&p=3763900'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2018-03-16T10:12:12+00:00">16.03.18, 10:12</time></span><div class='quote '>А чего бы тебе не сделать как Node.JS - весь пайплайн в один поток, но асинхронно?</div></div><br>
Это ты про сетевую подсистему? Типа один поток на неблокирующих сокетах?]]></description>
        <author>JoeUser</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763900</guid>
        <pubDate>Fri, 16 Mar 2018 10:12:12 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763900</link>
        <description><![CDATA[Flex Ferrum: А чего бы тебе не сделать как Node.JS - весь пайплайн в один поток, но асинхронно? Это избавит от энного количества проблем, связанных с синхронизацией. А с SQLite надо иметь в виду, что он не поддерживает одновременных транзакций из разных потоков по одному коннекшену. Это может быть существенным ограничением.]]></description>
        <author>Flex Ferrum</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763892</guid>
        <pubDate>Fri, 16 Mar 2018 08:50:05 +0000</pubDate>
        <title>WebApplication &amp;amp; threads</title>
        <link>https://forum.sources.ru/index.php?showtopic=412278&amp;view=findpost&amp;p=3763892</link>
        <description><![CDATA[JoeUser: Приветствую&#33;<br>
<br>
Собирался таки начать писать прогу класса WebApplication. Концептуально в ней можно выделить ряд подсистем:<br>
<br>
1) Работа с сетью по HTTP/HTTPS<br>
2) Работа с БД<br>
3) Работа с файловой системой<br>
4) Подсистема вычислений (собственно бизнес-логика)<br>
<br>
Допустим, приложение будет работать на компе с N ядрами. Как вы считаете сколько потоков нужно выделять на каждую подсистему и почему? Можно ли как-то определиться с этими параметрами при старте/в процессе выполнения?<br>
<br>
По поводу БД - есть формальные ограничение по распараллеливанию операций только для SQLite. <br>
Если брать, к примеру, PostgreSQL, то таких ограничений нет.<br>
<br>
Приветствуются любые соображения. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-03-16T08:54:56+00:00">16.03.18, 08:54</time></span></span><br>
ЗЫ: Совсем забыл, цель распараллеливания - обеспечение равномерной загрузки ресурсов компа (CPU/FS/NET)]]></description>
        <author>JoeUser</author>
        <category>Software Design</category>
      </item>
	
      </channel>
      </rss>
	