Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2012, 22:12   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Не происходит закрытие главного процесса

Добрый день уважаемые программисты. Столкнулся с проблемой описанной в название темы. То есть закрытие главной формы происходит но она остается висеть в процессах? В программе присутствует многопоточность, то есть моменты где программа работает с парочку 10-ок потоков, но не один из низ не работает постоянно, то есть дело сделал и вышел из потока.
Как лечить собственно? Я как только не пытался закрывать главное окно, процесс все равно весит...
Всем потокам устанавливал IsBackground, все равно главный процесс после закрытия продолжает висеть.
coNsept вне форума Ответить с цитированием
Старый 23.12.2012, 22:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Значит не все потоки освобождаются всетки.
Попробуй как-то отмониторить наличие потоков. В дотнете не скажу, а в нативке это можно было бы через Олли сделать. Возможно поможет ProcessExplorer
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.12.2012, 01:41   #3
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Самое интересное то что все мои потоки обрабатывают операции максимум секунд 10-20 не более, но все равно процесс остается висеть.
coNsept вне форума Ответить с цитированием
Старый 24.12.2012, 10:31   #4
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от coNsept Посмотреть сообщение
Добрый день уважаемые программисты. Столкнулся с проблемой описанной в название темы. То есть закрытие главной формы происходит но она остается висеть в процессах? В программе присутствует многопоточность, то есть моменты где программа работает с парочку 10-ок потоков, но не один из низ не работает постоянно, то есть дело сделал и вышел из потока.
Как лечить собственно? Я как только не пытался закрывать главное окно, процесс все равно весит...
Всем потокам устанавливал IsBackground, все равно главный процесс после закрытия продолжает висеть.
Позволю себе сделать небольшое предположение по этому вопросу: открой файлик "Program.cs" (создается автоматически самой VS или MonoDevelop, не знаю какую IDE используешь) и посмотри что там написано. Если что-то вроде:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace Maze
{
    static class Program
    {

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
//по простому, строчка ниже означает: запустить процесс приложения и привязать его исполнение к Form1, т.е. при закрытии Form1 процесс будет удален из системы
            Application.Run(new Form1());
        }
    }
}
, то тогда не знаю в чем твоя проблема, а если что-то вроде:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace Maze
{
    static class Program
    {

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
//процесс никак не зависит от закрытия/открытия формы и будет существовать даже если закрыть form1
Form1 form1=new Form1()
            Application.Run();
form1.Show();
        }
    }
}
, то тогда исправь на код выше.
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие активного процесса alexey_kip Общие вопросы C/C++ 6 03.12.2011 18:31
закрытие главного окна beygul Помощь студентам 2 26.11.2010 16:14
закрытие чужого процесса Dimon Win Api 7 12.05.2010 12:01
Закрытие ветви процесса SauronX Win Api 2 07.02.2009 16:18
Удаление/закрытие процесса Djaconda Win Api 2 13.06.2008 13:11