﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">потокобезопасность</title>
  <id>~/topic/926/potokobezopasnost/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-20T20:55:34Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=926" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/2099/</id>
    <title type="text">спасибо, помогло так: var tmp = SampleConsole.Program.chemodan.ToArray(); var _papir = tmp.FirstOrDe...</title>
    <published>2010-04-06T21:44:00Z</published>
    <updated>2010-04-06T21:44:00Z</updated>
    <author>
      <name>denis</name>
      <uri>https://stocksharp.com/users/59/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;спасибо, помогло так:
var tmp = SampleConsole.Program.chemodan.ToArray();
var _papir = tmp.FirstOrDefault(p =&amp;gt;
p.code.Equals(order_tri[&amp;quot;SECCODE&amp;quot;]));
if (_papir.code == null)
continue;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/2098/</id>
    <title type="text">А это не потокобезопасность =) простой пример: var myList = new List { 1, 2, 3 }; foreach (var item ...</title>
    <published>2010-04-05T14:57:00Z</published>
    <updated>2010-04-05T14:57:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;А это не потокобезопасность =)&lt;/p&gt;
&lt;p&gt;простой пример:&lt;/p&gt;
&lt;p&gt;var myList = new List&lt;int&gt; { 1, 2, 3 };&lt;/p&gt;
&lt;p&gt;foreach (var item in myList)
myList.Remove(item);&lt;/p&gt;
&lt;p&gt;упадет на первой же итерации цикла foreach.&lt;/p&gt;
&lt;p&gt;Почему? Потому что нельзя делать перебор значений и при это
модифицировать коллекцию. Как избежать:&lt;/p&gt;
&lt;p&gt;foreach (var item in myList.ToArray())
myList.Remove(item);&lt;/p&gt;
&lt;p&gt;Когда мы сделали ToArray - мы создали новую коллекцию (массив в данном
случае). По ней уже идет перебор, а изменяем мы myList.&lt;/p&gt;
&lt;p&gt;На английском более развернуто, чем у меня&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/kevin_ransom/archive/2005/03/14/395101.aspx" rel="nofollow" target="_blank"&gt;http://blogs.msdn.com/kevin_ransom/archive/2005/03/14/395101.aspx&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/2097/</id>
    <title type="text">Collection was modified; enumeration operation may not execute. беру лимиты по бумагам, каждую строк...</title>
    <published>2010-04-05T14:14:00Z</published>
    <updated>2010-04-05T14:14:00Z</updated>
    <author>
      <name>denis</name>
      <uri>https://stocksharp.com/users/59/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Collection was modified; enumeration operation may not execute.&lt;/p&gt;
&lt;p&gt;беру лимиты по бумагам, каждую строку запихиваю в структуру, и делаю
список структур.
в другом потоке (стратегия) проверяю наличие и позу по эмитенту... и
получаю в лоб :) достаточно высылать раз в секунду ордера по рынку и
проверять состояние портфеля.&lt;/p&gt;
&lt;p&gt;весь вопрос в том что я не знаю в какую сторону копать, чтобы оно было
потокобезопасно&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>