﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Многопоточность-однопоточность</title>
  <id>~/topic/1776/mnogopotochnost-odnopotochnost/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T11:15:22Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1776" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/10090/</id>
    <title type="text">А как быть? Пока никак. Специфика дизайна. Из отпуска приедет pyhta4og, решим, можно ли тут что-то и...</title>
    <published>2011-08-01T16:31:22Z</published>
    <updated>2016-08-16T00:00:42Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.ru/posts/m/10084/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10029/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;А как быть? [crying] &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Пока никак. Специфика дизайна. Из отпуска приедет &lt;a href="http://stocksharp.com/users/497/" title="http://stocksharp.com/users/497/"&gt;pyhta4og&lt;/a&gt;, решим, можно ли тут что-то исправить малой кровью.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Очень любопытно, а если код &amp;quot;ядра&amp;quot;, который обрабатывает реплики (и в т.ч. собирает стаканы) вообще не параллелить, а оставлять в одной нити, не уж то критически проседает производительность? там ведь в основном операции конвертации типов и lookup по всяким словарям.. &lt;br /&gt;&lt;br /&gt;оно реально тормозило и пришли к решению многонитевой обработки?&lt;br /&gt;&lt;br /&gt;и еще один важный момент про design. Михаил, все-таки не скажите ли, ждет ли код обработки реплик возврата из обработчика события? Хотелось бы понять есть ли тут общая линия, а если ее нет как обстоят дела, например, в адаптерах к Квику и Плазе.&lt;br /&gt;&lt;br /&gt;Спасибо!</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10084/</id>
    <title type="text">А как быть? Пока никак. Специфика дизайна. Из отпуска приедет pyhta4og, решим, можно ли тут что-то и...</title>
    <published>2011-08-01T16:04:38Z</published>
    <updated>2016-08-16T00:00:42Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10029/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;А как быть? [crying] &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Пока никак. Специфика дизайна. Из отпуска приедет &lt;a href="http://stocksharp.com/users/497/" title="http://stocksharp.com/users/497/"&gt;pyhta4og&lt;/a&gt;, решим, можно ли тут что-то исправить малой кровью.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/14211/</id>
    <title type="text">Эдсгер Вибе Дейкстра .......</title>
    <published>2011-12-02T12:38:45Z</published>
    <updated>2011-12-02T12:38:45Z</updated>
    <author>
      <name>andy_baka_</name>
      <uri>https://stocksharp.ru/users/646/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Эдсгер Вибе Дейкстра .......</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11552/</id>
    <title type="text">Как именно его использовать? Можно на примере что-то показать? Добавляете в InnerSecurities, задаёте...</title>
    <published>2011-09-26T17:46:50Z</published>
    <updated>2011-09-26T17:46:50Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Yura &lt;a href="https://stocksharp.ru/posts/m/11551/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Yura &lt;a href="https://stocksharp.ru/posts/m/11550/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Как именно его использовать?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Можно на примере что-то показать?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Добавляете в InnerSecurities, задаёте веса.&lt;br /&gt;Либо просто внутри стратегии из Trader получаете все нужные вам 14 инструментов и по ним отслеживаете что необходимо через события.&lt;br /&gt;&lt;br /&gt;Вариантов действия много :)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11551/</id>
    <title type="text">Как именно его использовать? Можно на примере что-то показать? </title>
    <published>2011-09-26T17:32:48Z</published>
    <updated>2011-09-26T17:32:48Z</updated>
    <author>
      <name>Yura</name>
      <uri>https://stocksharp.ru/users/251/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Yura &lt;a href="https://stocksharp.ru/posts/m/11550/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Как именно его использовать?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Можно на примере что-то показать?&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11550/</id>
    <title type="text">Как именно его использовать?</title>
    <published>2011-09-26T17:30:19Z</published>
    <updated>2011-09-26T17:30:19Z</updated>
    <author>
      <name>Yura</name>
      <uri>https://stocksharp.ru/users/251/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Как именно его использовать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11549/</id>
    <title type="text">Я торгую в квике.Такая ситуация. 14 индексных инструментов.Мне нужно по каждому отслеживать сделки и...</title>
    <published>2011-09-26T17:20:30Z</published>
    <updated>2011-09-26T17:20:30Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Yura &lt;a href="https://stocksharp.ru/posts/m/11548/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Я торгую в квике.Такая ситуация. 14 индексных инструментов.Мне нужно по каждому отслеживать сделки и когда колическо сделок достигнет нужного, для неких индикаторов , принимать решение , но отслеживать сделки не прекращать..как бы вы посоветовали осуществить такое? есть пример в стокшарп SampleSMA но там по одному выбранному только отслеживается.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;BasketSecurity попробуйте</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11548/</id>
    <title type="text">Я торгую в квике.Такая ситуация. 14 индексных инструментов.Мне нужно по каждому отслеживать сделки и...</title>
    <published>2011-09-26T17:13:57Z</published>
    <updated>2011-09-26T17:13:57Z</updated>
    <author>
      <name>Yura</name>
      <uri>https://stocksharp.ru/users/251/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Я торгую в квике.Такая ситуация. 14 индексных инструментов.Мне нужно по каждому отслеживать сделки и когда колическо сделок достигнет нужного, для неких индикаторов , принимать решение , но отслеживать сделки не прекращать..как бы вы посоветовали осуществить такое? есть пример в стокшарп SampleSMA но там по одному выбранному только отслеживается.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10114/</id>
    <title type="text">да, мне мешат, если я вас правильно понял. У меня такая ситуация. стратегия содержит два правила ,од...</title>
    <published>2011-08-02T13:57:22Z</published>
    <updated>2011-08-02T14:42:19Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vader &lt;a href="https://stocksharp.ru/posts/m/10107/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10089/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vader &lt;a href="https://stocksharp.ru/posts/m/10080/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;да, мне мешат, если я вас правильно понял.&lt;br /&gt;У меня такая ситуация.&lt;br /&gt;стратегия содержит два правила ,одно для совершения сделок, другая контролирует количество купленных/проданных лотов.&lt;br /&gt;и так получается, что пока метод, связанный со вторым правилом произодит подсчеты и определяает не пора ли останавливать стратегию, метод отвечающий за совершение сделок успевает вызватся несколько раз и отправить заявок больше чем нужно.&lt;br /&gt;Можно ли как-то заблокировать вызов других методов(или ожидание исполнения условий) ,пока идет работа метода, осущестляющего контроль сделок?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Эта задача решается примитивами синхронизации. Она соответствует п.1 из моего поста.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;не могли бы подсказать, как именно?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
using System.Threading;

class MegaStrategy : Strategy
{

 private readonly object sync = new object();

 protected override void OnRunning()
    {
        this
            .When(...)
            .Do(Trading);

        this
            .When(...)
            .Do(CheckingStop);

        base.OnRunning();
    }


void Trading()
{
  if(!Monitor.TryEnter(this.sync))
    return;

  try
  {
    // логика, которая может выставить заявки
  }
  finally
  {
    Monitor.Exit(this.sync);
  }
}


void CheckingStop()
{
  lock(this.sync)
  {
    // тут проверка условий останова
  }
}

}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10107/</id>
    <title type="text">да, мне мешат, если я вас правильно понял. У меня такая ситуация. стратегия содержит два правила ,од...</title>
    <published>2011-08-02T10:53:42Z</published>
    <updated>2011-08-02T10:53:42Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10089/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vader &lt;a href="https://stocksharp.ru/posts/m/10080/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;да, мне мешат, если я вас правильно понял.&lt;br /&gt;У меня такая ситуация.&lt;br /&gt;стратегия содержит два правила ,одно для совершения сделок, другая контролирует количество купленных/проданных лотов.&lt;br /&gt;и так получается, что пока метод, связанный со вторым правилом произодит подсчеты и определяает не пора ли останавливать стратегию, метод отвечающий за совершение сделок успевает вызватся несколько раз и отправить заявок больше чем нужно.&lt;br /&gt;Можно ли как-то заблокировать вызов других методов(или ожидание исполнения условий) ,пока идет работа метода, осущестляющего контроль сделок?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Эта задача решается примитивами синхронизации. Она соответствует п.1 из моего поста.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;не могли бы подсказать, как именно?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10091/</id>
    <title type="text"> оно реально тормозило и пришли к решению многонитевой обработки? Оно само так возникло. и еще один ...</title>
    <published>2011-08-01T17:34:29Z</published>
    <updated>2011-08-01T17:34:29Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;оно реально тормозило и пришли к решению многонитевой обработки?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Оно само так возникло.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10090/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;и еще один важный момент про design. Михаил, все-таки не скажите ли, ждет ли код обработки реплик возврата из обработчика события? Хотелось бы понять есть ли тут общая линия, а если ее нет как обстоят дела, например, в адаптерах к Квику и Плазе.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это точно будет не детерминировано.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10089/</id>
    <title type="text">да, мне мешат, если я вас правильно понял. У меня такая ситуация. стратегия содержит два правила ,од...</title>
    <published>2011-08-01T16:22:27Z</published>
    <updated>2011-08-01T16:22:27Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vader &lt;a href="https://stocksharp.ru/posts/m/10080/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;да, мне мешат, если я вас правильно понял.&lt;br /&gt;У меня такая ситуация.&lt;br /&gt;стратегия содержит два правила ,одно для совершения сделок, другая контролирует количество купленных/проданных лотов.&lt;br /&gt;и так получается, что пока метод, связанный со вторым правилом произодит подсчеты и определяает не пора ли останавливать стратегию, метод отвечающий за совершение сделок успевает вызватся несколько раз и отправить заявок больше чем нужно.&lt;br /&gt;Можно ли как-то заблокировать вызов других методов(или ожидание исполнения условий) ,пока идет работа метода, осущестляющего контроль сделок?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Эта задача решается примитивами синхронизации. Она соответствует п.1 из моего поста.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10080/</id>
    <title type="text">да, мне мешат, если я вас правильно понял. У меня такая ситуация. стратегия содержит два правила ,од...</title>
    <published>2011-08-01T15:54:28Z</published>
    <updated>2011-08-01T15:54:28Z</updated>
    <author>
      <name>vader</name>
      <uri>https://stocksharp.ru/users/28223/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">да, мне мешат, если я вас правильно понял.&lt;br /&gt;У меня такая ситуация.&lt;br /&gt;стратегия содержит два правила ,одно для совершения сделок, другая контролирует количество купленных/проданных лотов.&lt;br /&gt;и так получается, что пока метод, связанный со вторым правилом произодит подсчеты и определяает не пора ли останавливать стратегию, метод отвечающий за совершение сделок успевает вызватся несколько раз и отправить заявок больше чем нужно.&lt;br /&gt;Можно ли как-то заблокировать вызов других методов(или ожидание исполнения условий) ,пока идет работа метода, осущестляющего контроль сделок?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10075/</id>
    <title type="text">up! хотелось бы дообсудить этот момент.. таким ли будет поведение в данной ситуации? мешает ли это к...</title>
    <published>2011-08-01T11:14:34Z</published>
    <updated>2011-08-01T11:14:34Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">up!&lt;br /&gt;&lt;br /&gt;хотелось бы дообсудить этот момент..&lt;br /&gt;&lt;br /&gt;таким ли будет поведение в данной ситуации?&lt;br /&gt;&lt;br /&gt;мешает ли это кому-нибудь еще?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10029/</id>
    <title type="text">Что касается разделяемых данных, то они так же модифицируются параллельно. Миша, я правильно понимаю...</title>
    <published>2011-07-29T09:07:05Z</published>
    <updated>2011-07-29T09:07:05Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.ru/posts/m/10021/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Что касается разделяемых данных, то они так же модифицируются параллельно.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Миша, я правильно понимаю, что даже если буду использовать объект синхронизации для стратегии (strategyLock в примере)&lt;br /&gt;все равно из-за параллельной модификации разделяемых объектов &amp;quot;ядром&amp;quot; в точках (*) и (**) поля order могут отличаться?&lt;br /&gt;&lt;br /&gt;А как быть? [crying] &lt;br /&gt;&lt;br /&gt;void OrderChangedHandler(IEnumerable&amp;lt;Order&amp;gt; orders)&lt;br /&gt;{&lt;br /&gt;   lock(this.strategyLock)&lt;br /&gt;   {&lt;br /&gt;      var order = orders.FirstOrDefault(o =&amp;gt; o.Security.Code == &amp;quot;LKOH&amp;quot;);&lt;br /&gt;      if(order == null)&lt;br /&gt;         return;&lt;br /&gt;&lt;br /&gt;      if(order.Balance &amp;gt; 10) // (*)&lt;br /&gt;         ...&lt;br /&gt;&lt;br /&gt;      ...      &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      if(order.IsDone()) // (**)&lt;br /&gt;         ....&lt;br /&gt; &lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10021/</id>
    <title type="text">Михаил, прокомментируйте plz эти моменты. Да с тех пор было столько переделок без меня, что уже сам ...</title>
    <published>2011-07-28T22:18:35Z</published>
    <updated>2011-07-28T22:18:35Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;sergun &lt;a href="https://stocksharp.ru/posts/m/10019/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Михаил, прокомментируйте plz эти моменты.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Да с тех пор было столько переделок без меня, что уже сам не знаю, как некоторые вещи работают. Что касается событий, то не нужно зашиваться на то, одним потоком идет обработка, несколькими, или пулом. Многое зависит от шлюза, да и не факт, что от версии к версии может не измениться. Рассчитывайте на худший сценарий - разные потоки для каждого события.&lt;br /&gt;&lt;br /&gt;Что касается разделяемых данных, то они так же модифицируются параллельно.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10019/</id>
    <title type="text">1. я помню как специально делал выводы ThreadID чтобы понять из каких потоков меня дергают и увидел ...</title>
    <published>2011-07-28T21:31:41Z</published>
    <updated>2011-07-28T21:31:41Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;President &lt;a href="https://stocksharp.ru/posts/m/10014/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;1.&lt;br /&gt;я помню как специально делал выводы ThreadID чтобы понять из каких потоков меня дергают и увидел что айдишники разные - т.о. я сделал вывод что события дергаются из пула потоков.&lt;br /&gt;наверное было бы хорошо иметь возможность этот пул настраивать (например, указывать количество потоков, а в идеале и переопределять диспетчер чтобы например приоритезировать вызовы - например сделать для NewMyTrade максимальный приоритет - хотя думаю выигрыш будет совсем ничтожный)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Все равно непонятно как оно организована в &amp;quot;ядре&amp;quot;. Ожидают ли нити, занимающиеся экспортом данных, возврата управления от нити из пула, есть ли этот пул. Дело ясное, что дело темное.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;President &lt;a href="https://stocksharp.ru/posts/m/10014/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;2.&lt;br /&gt;если бы мне было это нужно то я бы делал лок в начале евента, копировал бы в локальные переменные то что мне нужно оставить неизменным, отпускал бы лок и далее работал бы с локальными переменными.&lt;br /&gt;но мне кажется что это не самый лучший подход, т.к. в ситуации когда вы могли бы обработать наиболее последний BestBid/Ask и следовательно быть &amp;quot;ближе к рынку&amp;quot; вы будете немного запаздывать.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Даже с локами все равно непонятно, могут ли меняться за время работы обработчика разделяемые переменные.. Они же меняются ядром S#, а про него ничего не известно.&lt;br /&gt;&lt;br /&gt;Михаил, прокомментируйте plz эти моменты.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10014/</id>
    <title type="text">1. я помню как специально делал выводы ThreadID чтобы понять из каких потоков меня дергают и увидел ...</title>
    <published>2011-07-28T17:44:18Z</published>
    <updated>2011-07-28T17:44:18Z</updated>
    <author>
      <name>President</name>
      <uri>https://stocksharp.ru/users/510/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">1.&lt;br /&gt;я помню как специально делал выводы ThreadID чтобы понять из каких потоков меня дергают и увидел что айдишники разные - т.о. я сделал вывод что события дергаются из пула потоков.&lt;br /&gt;наверное было бы хорошо иметь возможность этот пул настраивать (например, указывать количество потоков, а в идеале и переопределять диспетчер чтобы например приоритезировать вызовы - например сделать для NewMyTrade максимальный приоритет - хотя думаю выигрыш будет совсем ничтожный)&lt;br /&gt;&lt;br /&gt;re: &amp;quot;lock в обработчиках на какой-то объект синхронизации, свой для каждой стратегии, но не очень понятно насколько это хорошо с т.зр. производительности при большом числе стратегий&amp;quot;&lt;br /&gt;вы же локи будете делать в рамках одной стратегии так что другие стратегии не будут аффектиться.&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;если бы мне было это нужно то я бы делал лок в начале евента, копировал бы в локальные переменные то что мне нужно оставить неизменным, отпускал бы лок и далее работал бы с локальными переменными.&lt;br /&gt;но мне кажется что это не самый лучший подход, т.к. в ситуации когда вы могли бы обработать наиболее последний BestBid/Ask и следовательно быть &amp;quot;ближе к рынку&amp;quot; вы будете немного запаздывать.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/10007/</id>
    <title type="text">Михаил &amp;amp; co, приветствую! Возник такой вопросик. Допустим мне, из архитектурных соображений (возьмем...</title>
    <published>2011-07-28T13:16:25Z</published>
    <updated>2011-07-28T13:16:25Z</updated>
    <author>
      <name>sergun</name>
      <uri>https://stocksharp.ru/users/6139/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Михаил &amp;amp; co, приветствую!&lt;br /&gt;&lt;br /&gt;Возник такой вопросик. Допустим мне, из архитектурных соображений (возьмем это за данное), хочется, чтобы:&lt;br /&gt;1. все события любой, отдельно взятой стратегии возникали и обрабатывались не более чем &lt;b&gt;одной&lt;/b&gt; нитью&lt;br /&gt;2. все &lt;b&gt;разделяемые и модифицируемые&lt;/b&gt; данные в рамках стратегии: заявки, инструменты оставались неизменными по ходу работы обработчиков стратегии&lt;br /&gt;(например, хочется быть уверенным, что по ходу работы обработчика NewOrder, объекты-заявки, пришедшие в нем, не изменятся или что не изменится BestBid/Ask). &lt;br /&gt;&lt;br /&gt;Самих стратегий м.б. много, несколько десятков.&lt;br /&gt;Мне известен путь &amp;quot;в лоб&amp;quot; для достижения цели №1 - lock в обработчиках на какой-то объект синхронизации, свой для каждой стратегии, но не очень понятно насколько это хорошо с т.зр. производительности при большом числе стратегий. &lt;br /&gt;Как добиться цели №2 от S# я не знаю.&lt;br /&gt;&lt;br /&gt;Что-нибудь посоветуете по этим топикам?&lt;br /&gt;&lt;br /&gt;Спасибо!&lt;br /&gt;&lt;br /&gt;PS. Вопрос не про QUIK, про любые адаптеры S#.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>