﻿<?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/4012/vysvobozhdenie-resursov/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-16T05:29:25Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4012" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/27627/</id>
    <title type="text">support_Edu: Покажите ваше приложение, тогда можно будет точно сказать что не так. Может лучше попро...</title>
    <published>2013-09-28T09:39:07Z</published>
    <updated>2013-09-28T09:39:07Z</updated>
    <author>
      <name>Buratino</name>
      <uri>https://stocksharp.com/users/451/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(27616)" rel="nofollow" target="_blank"&gt;support_Edu&lt;/a&gt;:&lt;/strong&gt;
Покажите ваше приложение, тогда можно будет точно сказать что не так.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Может лучше попробуем решить проблему через TeamViwer? Черкните ваш скайп.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27616/</id>
    <title type="text">Покажите ваше приложение, тогда можно будет точно сказать что не так. </title>
    <published>2013-09-27T13:06:02Z</published>
    <updated>2013-09-27T13:06:02Z</updated>
    <author>
      <name>support_Edu</name>
      <uri>https://stocksharp.com/users/49850/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Покажите ваше приложение, тогда можно будет точно сказать что не так.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27613/</id>
    <title type="text">IvanB: ODE0� Если поток уничтожен, т.е. ресурс никем больше не используется (никакая переменная боль...</title>
    <published>2013-09-26T15:39:52Z</published>
    <updated>2013-09-26T15:40:15Z</updated>
    <author>
      <name>Buratino</name>
      <uri>https://stocksharp.com/users/451/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(27611)" rel="nofollow" target="_blank"&gt;IvanB&lt;/a&gt;:&lt;/strong&gt;
ODE0�&lt;/p&gt;
&lt;p&gt;Если поток уничтожен, т.е. ресурс никем больше не используется (никакая переменная больше не ссылается на значение), то эти данные высвобождаются из памяти.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Вот в том то и вопрос: я их все таким образом уничтожил, но тем не менее приложение продолжает сидеть в памяти. Какие ещё есть способы обнаружения утечки, убивания процессов, финализаторов?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27611/</id>
    <title type="text">Buratino: IvanB: Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсис...</title>
    <published>2013-09-26T13:18:16Z</published>
    <updated>2013-09-26T13:18:16Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(27609)" rel="nofollow" target="_blank"&gt;Buratino&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(27607)" rel="nofollow" target="_blank"&gt;IvanB&lt;/a&gt;:&lt;/strong&gt;
Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может отследить утечки, например случай когда, программа создает поток, который в свою очередь использует некий ресурс, Вы или программа можете забыть о том что поток работает, и можете думать, что ресурс уже освобожден в памяти т.к. никем не используется, но на самом деле его использует бесконтрольный поток, и это только пример, на самом деле все может быть гораздо сильнее &amp;quot;закручено&amp;quot;.
В подобных случаях помогают программы, отслеживающие создание/освобождение ресурсов конкретной программы, например инструмент: ants memory profiler, это очень удобная утилита, помогающая находить утечки памяти.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ну вот допустим я создаю поток thread и после его старта он начинает жить своей закрученной жизнью. Метод, указанный ниже, останавливает всё что он делает и высвобождает ресурсы? Или этого не достаточно, нужно лезть в глубь этого потока и там искать утечки?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;    protected override void OnClosing(CancelEventArgs e)
    {
        thread.Abort();
        base.OnClosing(e);
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;
Если поток уничтожен, т.е. ресурс никем больше не используется (никакая переменная больше не ссылается на значение), то эти данные высвобождаются из памяти.
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27609/</id>
    <title type="text">IvanB: Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не мо...</title>
    <published>2013-09-26T11:39:31Z</published>
    <updated>2013-09-26T11:40:02Z</updated>
    <author>
      <name>Buratino</name>
      <uri>https://stocksharp.com/users/451/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(27607)" rel="nofollow" target="_blank"&gt;IvanB&lt;/a&gt;:&lt;/strong&gt;
Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может отследить утечки, например случай когда, программа создает поток, который в свою очередь использует некий ресурс, Вы или программа можете забыть о том что поток работает, и можете думать, что ресурс уже освобожден в памяти т.к. никем не используется, но на самом деле его использует бесконтрольный поток, и это только пример, на самом деле все может быть гораздо сильнее &amp;quot;закручено&amp;quot;.
В подобных случаях помогают программы, отслеживающие создание/освобождение ресурсов конкретной программы, например инструмент: ants memory profiler, это очень удобная утилита, помогающая находить утечки памяти.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ну вот допустим я создаю поток thread и после его старта он начинает жить своей закрученной жизнью. Метод, указанный ниже, останавливает всё что он делает и высвобождает ресурсы? Или этого не достаточно, нужно лезть в глубь этого потока и там искать утечки?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
        protected override void OnClosing(CancelEventArgs e)
        {
            thread.Abort();
            base.OnClosing(e);
        }

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27607/</id>
    <title type="text">Buratino: При закрытии робота автоматическая сборка мусора полностью не производится, программа сиди...</title>
    <published>2013-09-26T08:17:42Z</published>
    <updated>2013-09-26T08:17:42Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(27606)" rel="nofollow" target="_blank"&gt;Buratino&lt;/a&gt;:&lt;/strong&gt;
При закрытии робота автоматическая сборка мусора полностью не производится, программа сидит в памяти и приходится её удалять вручную. Во время работы память (8 Гб) засоряется, что даже ведёт к зависанию компьютера и перезагрузке. В книгах по C# пишется, что все процессы очистки производятся автоматически. Соответственно вопрос: как мониторить, выявлять места утечки памяти и правильно закрывать приложение?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может отследить утечки, например случай когда, программа создает поток, который в свою очередь использует некий ресурс, Вы или программа можете забыть о том что поток работает, и можете думать, что ресурс уже освобожден в памяти т.к. никем не используется, но на самом деле его использует бесконтрольный поток, и это только пример, на самом деле все может быть гораздо сильнее &amp;quot;закручено&amp;quot;.
В подобных случаях помогают программы, отслеживающие создание/освобождение ресурсов конкретной программы, например инструмент: ants memory profiler, это очень удобная утилита, помогающая находить утечки памяти.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27606/</id>
    <title type="text">При закрытии робота автоматическая сборка мусора полностью не производится, программа сидит в памяти...</title>
    <published>2013-09-26T07:51:33Z</published>
    <updated>2013-09-26T07:51:33Z</updated>
    <author>
      <name>Buratino</name>
      <uri>https://stocksharp.com/users/451/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;При закрытии робота автоматическая сборка мусора полностью не производится, программа сидит в памяти и приходится её удалять вручную. Во время работы память (8 Гб) засоряется, что даже ведёт к зависанию компьютера и перезагрузке. В книгах по C# пишется, что все процессы очистки производятся автоматически. Соответственно вопрос: как мониторить, выявлять места утечки памяти и правильно закрывать приложение?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>