﻿<?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/1403/vopros-po-arhitekture-biblioteki/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-25T21:24:44Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1403" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/6432/</id>
    <title type="text"> Напрямую. Всегда возвращается копия данных, которая не модифицируется. В принципе это то, что было ...</title>
    <published>2011-03-04T16:27:24Z</published>
    <updated>2011-03-04T16:35:18Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</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/6429/" 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;br /&gt;Спасибо за ответ. &lt;br /&gt;&lt;br /&gt;Итак, насколько я понял если во время выполнения следующего кода&lt;br /&gt;из Квика придет новая моя сделка, то она в цикл никак не попадет?&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;br /&gt;foreach (MyTrade myTrade in Global.Quik.MyTrades)                        &lt;br /&gt;  if (_newOrder == myTrade.Order)                            &lt;br /&gt;    _volume += myTrade.Trade.Volume;  &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&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/6429/</id>
    <title type="text">Михаил, добрый день. Еще один вопрос про потоки. Каким образом можно перебрать все элементы свойства...</title>
    <published>2011-03-04T15:44:43Z</published>
    <updated>2011-03-04T15:44:43Z</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;Maxim &lt;a href="https://stocksharp.ru/posts/m/6414/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Михаил, добрый день.&lt;br /&gt;Еще один вопрос про потоки.&lt;br /&gt;&lt;br /&gt;Каким образом можно перебрать все элементы свойства QuikTrader.MyTrades?&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;Maxim &lt;a href="https://stocksharp.ru/posts/m/6414/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если применить к этому свойству foreach, то в процессе работы цикла к этому свойству&lt;br /&gt;из другого потока могут добавится новые элементы и foreach может сработать некорректно(может пропустить некоторые элементы).&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;Maxim &lt;a href="https://stocksharp.ru/posts/m/6414/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Соответственно, что бы применить foreach к QuikTrader.MyTrades, нужно на время выполнения этого цикла блокировать &lt;br /&gt;изменение этого свойства. Есть ли такая возможность? Например, публичный объект для блокировки?&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/6414/</id>
    <title type="text">Михаил, добрый день. Еще один вопрос про потоки. Каким образом можно перебрать все элементы свойства...</title>
    <published>2011-03-04T11:35:53Z</published>
    <updated>2011-03-04T11:35:53Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Михаил, добрый день.&lt;br /&gt;Еще один вопрос про потоки.&lt;br /&gt;&lt;br /&gt;Каким образом можно перебрать все элементы свойства QuikTrader.MyTrades?&lt;br /&gt;&lt;br /&gt;Если применить к этому свойству foreach, то в процессе работы цикла к этому свойству&lt;br /&gt;из другого потока могут добавится новые элементы и foreach может сработать некорректно(может пропустить некоторые элементы).&lt;br /&gt;&lt;br /&gt;Соответственно, что бы применить foreach к QuikTrader.MyTrades, нужно на время выполнения этого цикла блокировать &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/6317/</id>
    <title type="text">Я считываю одно поле для конкретного инструмента в начале функции, далее выполняю другие действия, и...</title>
    <published>2011-03-01T17:20:37Z</published>
    <updated>2011-03-01T17:20:37Z</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;esper &lt;a href="https://stocksharp.ru/posts/m/6315/" 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/6315/</id>
    <title type="text">А каким образом можно сделать синхронизацию с внутренним обновлением этих данных? Чтобы пока я их чи...</title>
    <published>2011-03-01T17:05:11Z</published>
    <updated>2011-03-01T17:05:11Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</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/6314/" 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;esper &lt;a href="https://stocksharp.ru/posts/m/6310/" 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;К примеру, у меня стратегия крутится в другом потоке, на каждой итерации ей нужны данные из таблицы инструментов. Получение данных из таблицы осуществляется не в одном месте, а рассредоточено по всей функции стратегии. Я считываю одно поле для конкретного инструмента в начале функции, далее выполняю другие действия, из квика приходят новые данные, считываю другое поле для этого же инструмента и получаю несогласованные данные.&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/6314/</id>
    <title type="text">А каким образом можно сделать синхронизацию с внутренним обновлением этих данных? Чтобы пока я их чи...</title>
    <published>2011-03-01T16:51:19Z</published>
    <updated>2011-03-01T16:51:19Z</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;esper &lt;a href="https://stocksharp.ru/posts/m/6310/" 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/6310/</id>
    <title type="text"> Я хочу в одном потоке записывать в это свойство данные, а в другом потоке читать эти данные. Необхо...</title>
    <published>2011-03-01T15:31:18Z</published>
    <updated>2011-03-01T15:31:18Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</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/6309/" 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;Maxim &lt;a href="https://stocksharp.ru/posts/m/6308/" 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;&lt;br /&gt;Да, нужно. Это вариант 2.&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/6309/</id>
    <title type="text"> Я хочу в одном потоке записывать в это свойство данные, а в другом потоке читать эти данные. Необхо...</title>
    <published>2011-03-01T15:23:53Z</published>
    <updated>2011-03-01T15:23:53Z</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;Maxim &lt;a href="https://stocksharp.ru/posts/m/6308/" 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;&lt;br /&gt;Да, нужно. Это вариант 2.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/6308/</id>
    <title type="text"> Смотря что Вы с ним хотите делать. Если просто сделать так var info = sec.ExtensionInfo;, а если se...</title>
    <published>2011-03-01T15:15:11Z</published>
    <updated>2011-03-01T15:15:11Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</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/6299/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Смотря что Вы с ним хотите делать. Если просто сделать так &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;var info = sec.ExtensionInfo;&lt;/div&gt;&lt;/div&gt;, а если &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;sec.ExtensionInfo.Contains(key);&lt;/div&gt;&lt;/div&gt; то да.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ваш ответ к сожалению совсем не понял, так как синхронизация предполагает&lt;br /&gt;доступ из разных потоков. В Вашем примере не ясно какие потоки одновременно могут&lt;br /&gt;обратится к свойству. &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/6303/</id>
    <title type="text">А зачем? К примеру, у меня стратегия крутится в другом потоке, на каждой итерации ей нужны данные из...</title>
    <published>2011-03-01T14:39:14Z</published>
    <updated>2011-03-01T14:41:48Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</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/6292/" 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;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.ru/posts/m/6299/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Смотря что Вы с ним хотите делать. Если просто сделать так &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;var info = sec.ExtensionInfo;&lt;/div&gt;&lt;/div&gt;, а если &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;sec.ExtensionInfo.Contains(key);&lt;/div&gt;&lt;/div&gt; то да.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Почему в первом случае нет необходимости в синхронизации? ExtensionInfo вроде ссылочный тип, при таком присваивании данные не копируются, просто получаем еще один указатель на словарь[confused]</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/6299/</id>
    <title type="text">В частности интересует свойство Security.ExtensionInfo Необходима ли синхронизация этого свойства пр...</title>
    <published>2011-03-01T14:21:29Z</published>
    <updated>2011-03-01T14:21: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;Maxim &lt;a href="https://stocksharp.ru/posts/m/6297/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;В частности интересует свойство Security.ExtensionInfo&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;var info = sec.ExtensionInfo;&lt;/div&gt;&lt;/div&gt;, а если &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;sec.ExtensionInfo.Contains(key);&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/6297/</id>
    <title type="text">Мне кажется вы друг друга недопонимаете. На мой взгляд, esper хотел спросить: являются ли свойства о...</title>
    <published>2011-03-01T14:07:39Z</published>
    <updated>2011-03-01T14:07:39Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Мне кажется вы друг друга недопонимаете.&lt;br /&gt;&lt;br /&gt;На мой взгляд, esper хотел спросить: являются ли свойства объекта класса QuikTrader потокобезопасными?&lt;br /&gt;И насколько я знаю, ответ: да, являются.&lt;br /&gt;&lt;br /&gt;Михаил, поправьте меня, если я ошибаюсь.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Попутный уточняющий вопрос:&lt;br /&gt;а все ли свойства потокобезопасны? &lt;br /&gt;В частности интересует свойство Security.ExtensionInfo&lt;br /&gt;Необходима ли синхронизация этого свойства при доступе из разных потоков?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/6292/</id>
    <title type="text">Это не так. Объекты торговых типов обновляются без какой-либо синхронизации, и не атомарно. Т.о. пол...</title>
    <published>2011-03-01T10:56:43Z</published>
    <updated>2011-03-01T10:56:43Z</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;esper &lt;a href="https://stocksharp.ru/posts/m/6291/" 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;Mikhail Sukhov &lt;a href="https://stocksharp.ru/posts/m/6279/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Это не так. Объекты торговых типов обновляются без какой-либо синхронизации, и не атомарно.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Т.о. получается, что когда я в событии изменения записи таблицы (SecurityChanged) копирую данные из пришедшего объекта в свою внутреннюю структуру они могут поменяться? Может имеет смысл добавить хотя SyncRoot для возможности lock-а или сделать по принципу много читателей - один писатель?&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/6291/</id>
    <title type="text">Это не так. Объекты торговых типов обновляются без какой-либо синхронизации, и не атомарно. Т.о. пол...</title>
    <published>2011-03-01T10:55:31Z</published>
    <updated>2011-03-01T10:55:31Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</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/6279/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Это не так. Объекты торговых типов обновляются без какой-либо синхронизации, и не атомарно.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Т.о. получается, что когда я в событии изменения записи таблицы (SecurityChanged) копирую данные из пришедшего объекта в свою внутреннюю структуру они могут поменяться? Может имеет смысл добавить хотя SyncRoot для возможности lock-а или сделать по принципу много читателей - один писатель?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/6279/</id>
    <title type="text">т.е. любая запись и доступ к данным заключены в блок синхронизации и в любой момент времени данные у...</title>
    <published>2011-02-28T18:51:56Z</published>
    <updated>2011-02-28T18:51:56Z</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;esper &lt;a href="https://stocksharp.ru/posts/m/6271/" 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;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/6271/</id>
    <title type="text">Добрый день. Предположим, что необходимо получать данные по инструментам, для этого мы добавляем нуж...</title>
    <published>2011-02-28T08:29:38Z</published>
    <updated>2011-02-28T08:29:38Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день.&lt;br /&gt;&lt;br /&gt;Предположим, что необходимо получать данные по инструментам, для этого мы добавляем нужные столбцы в квике и в программе, подписываемся на событие новой записи и изменения данных в таблице Secirities и в обработчике Trader.Connected запускаем экспорт по DDE этой таблицы.&lt;br /&gt;Данные поступают, мы их видим как в обработчиках событий, так и в таблице Trader.Securities. Далее есть два варианта:&lt;br /&gt;1. в любой момент времени мы можем обратиться к данной таблице из кода стратегии и прочитать нужные нам данные;&lt;br /&gt;2. в обработчиках событий копировать поступившие данные в свои структуры и в стратегии работать со своими данными.&lt;br /&gt;&lt;br /&gt;Интересует такой вот момент, во втором случае разработчик сам занимается вопросом согласованности данных, т.е. любая запись и доступ к данным заключены в блок синхронизации и в любой момент времени данные у нас согласованы. Каким образом обстоит дело в первом случае?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>