powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Исключение OutOfMemory при работе с потоками
5 сообщений из 5, страница 1 из 1
Исключение OutOfMemory при работе с потоками
    #38174507
raven_2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброе время суток, коллеги

приложение в фоновом режиме обрабатывает поступающие в разные таблицы данные. для каждой таблицы - свой поток.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        private void timer3_Tick(object sender, EventArgs e)
        {
           
                tTech = new Thread(ExportTech);
                tTech.IsBackground = true;
                tTech.Start();

        }


в самом потоке тоже предусмотрена недопустимость одновременного использования ресурсов
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
        private void ExportTech()
        {
         lock (tTech) // блокировка на уровне объекта
            {
                if (TechIn == false) //
                {
                    try
                    {
                        TechIn = true;
//обработка данных
                        TechIn=false;
                    }
                    catch (Exception xx)
                    {
                        TechIn = false;
                    }
                }
            }

        }


тем не менее, переодически выскакивает сообщение об ExceptionOutOfMemory от одного из таймеров. что посоветуете?
...
Рейтинг: 0 / 0
Исключение OutOfMemory при работе с потоками
    #38174551
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для обработки данных не хватает памяти.
...
Рейтинг: 0 / 0
Исключение OutOfMemory при работе с потоками
    #38174743
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что же вы там делаете такое? есть метод GC который выделяет память принудительно. иожно через него проверку сделать.
...
Рейтинг: 0 / 0
Исключение OutOfMemory при работе с потоками
    #38175435
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
посоветуем выложить кода побольше
...
Рейтинг: 0 / 0
Исключение OutOfMemory при работе с потоками
    #38175465
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raven_2008
Код: c#
1.
if (TechIn == false)



это сильно написано

raven_2008
Код: c#
1.
2.
3.
4.
5.
6.
  TechIn=false;
                    }
                    catch (Exception xx)
                    {
                        TechIn = false;
                    }


TechIn = false; в блоке finally покрасивше будет

а сколько активных потоков? Из пула попробуйте брать, обработка и в очереди постоять может
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Исключение OutOfMemory при работе с потоками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]