﻿<?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-04-19T17:51:11Z</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">Покажите ваше приложение, тогда можно будет точно сказать что не так. Может лучше попробуем решить п...</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;support_Edu &lt;a href="https://stocksharp.com/posts/m/27616/" 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;Может лучше попробуем решить проблему через TeamViwer? Черкните ваш скайп.</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;br /&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"> protected override void OnClosing(CancelEventArgs e) { thread.Abort(); base.OnClosing(e); } Если по...</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;IvanB &lt;a href="https://stocksharp.com/posts/m/27611/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        protected override void OnClosing(CancelEventArgs e)
        {
            thread.Abort();
            base.OnClosing(e);
        }
&lt;/pre&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;Вот в том то и вопрос: я их все таким образом уничтожил, но тем не менее приложение продолжает сидеть в памяти. Какие ещё есть способы обнаружения утечки, убивания процессов, финализаторов?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27611/</id>
    <title type="text"> Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может от...</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;Buratino &lt;a href="https://stocksharp.com/posts/m/27609/" 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;IvanB &lt;a href="https://stocksharp.com/posts/m/27607/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может отследить утечки, например случай когда, программа создает поток, который в свою очередь использует некий ресурс, Вы или программа можете забыть о том что поток работает, и можете думать, что ресурс уже освобожден в памяти т.к. никем не используется, но на самом деле его использует бесконтрольный поток, и это только пример, на самом деле все может быть гораздо сильнее &amp;quot;закручено&amp;quot;.&lt;br /&gt;В подобных случаях помогают программы, отслеживающие создание/освобождение ресурсов конкретной программы, например инструмент: ants memory profiler, это очень удобная утилита, помогающая находить утечки памяти.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ну вот допустим я создаю поток thread и после его старта он начинает жить своей закрученной жизнью. Метод, указанный ниже, останавливает всё что он делает и высвобождает ресурсы? Или этого не достаточно, нужно лезть в глубь этого потока и там искать утечки?&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        protected override void OnClosing(CancelEventArgs e)
        {
            thread.Abort();
            base.OnClosing(e);
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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.com/posts/m/27609/</id>
    <title type="text"> Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может от...</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;IvanB &lt;a href="https://stocksharp.com/posts/m/27607/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может отследить утечки, например случай когда, программа создает поток, который в свою очередь использует некий ресурс, Вы или программа можете забыть о том что поток работает, и можете думать, что ресурс уже освобожден в памяти т.к. никем не используется, но на самом деле его использует бесконтрольный поток, и это только пример, на самом деле все может быть гораздо сильнее &amp;quot;закручено&amp;quot;.&lt;br /&gt;В подобных случаях помогают программы, отслеживающие создание/освобождение ресурсов конкретной программы, например инструмент: ants memory profiler, это очень удобная утилита, помогающая находить утечки памяти.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ну вот допустим я создаю поток thread и после его старта он начинает жить своей закрученной жизнью. Метод, указанный ниже, останавливает всё что он делает и высвобождает ресурсы? Или этого не достаточно, нужно лезть в глубь этого потока и там искать утечки?&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        protected override void OnClosing(CancelEventArgs e)
        {
            thread.Abort();
            base.OnClosing(e);
        }
&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.com/posts/m/27607/</id>
    <title type="text">При закрытии робота автоматическая сборка мусора полностью не производится, программа сидит в памяти...</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;Buratino &lt;a href="https://stocksharp.com/posts/m/27606/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;При закрытии робота автоматическая сборка мусора полностью не производится, программа сидит в памяти и приходится её удалять вручную. Во время работы память (8 Гб) засоряется, что даже ведёт к зависанию компьютера и перезагрузке. В книгах по C# пишется, что все процессы очистки производятся автоматически. Соответственно вопрос: как мониторить, выявлять места утечки памяти и правильно закрывать приложение?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Верно, платформа сама занимается очисткой памяти, но в некоторых случаях эта подсистема не может отследить утечки, например случай когда, программа создает поток, который в свою очередь использует некий ресурс, Вы или программа можете забыть о том что поток работает, и можете думать, что ресурс уже освобожден в памяти т.к. никем не используется, но на самом деле его использует бесконтрольный поток, и это только пример, на самом деле все может быть гораздо сильнее &amp;quot;закручено&amp;quot;.&lt;br /&gt;В подобных случаях помогают программы, отслеживающие создание/освобождение ресурсов конкретной программы, например инструмент: ants memory profiler, это очень удобная утилита, помогающая находить утечки памяти.</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">При закрытии робота автоматическая сборка мусора полностью не производится, программа сидит в памяти и приходится её удалять вручную. Во время работы память (8 Гб) засоряется, что даже ведёт к зависанию компьютера и перезагрузке. В книгах по C# пишется, что все процессы очистки производятся автоматически. Соответственно вопрос: как мониторить, выявлять места утечки памяти и правильно закрывать приложение?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>