Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
1

Завершение фоновых потоков.

14.05.2011, 22:22. Показов 2432. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, где в WPF-приложении точка начала приложения, типа как в формах- место, где происходит инициализация самой первой формы. Или сформулирую вопрос по другому: как отловить событие нажатия на красный крестик в главном окне(либо кнопка выхода) и отрубить все фоновые процессы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2011, 22:22
Ответы с готовыми решениями:

Запуск несколько фоновых потоков одновременно
Необходимо заполнять массив из n элементов. Как организовать заполнение массива одновременно в...

Как реализовать создание и завершение потоков
Здравствуйте ув.форумчане! Подскажите пожалуйста как реализовать старт и стоп потоков. В библиотеке...

Разработать программу, генерирующую n потоков в пуле потоков CLR
Добрый вечер. Решил поделать старые лабораторные, которые мне уже давно нужно было сдавать, но...

Подавление фоновых звуков за счет двух микрофонов
У меня стоит задача записи звука на 1 микрофон и очистка окружающих звуков с помощью второго на c#....

4
25 / 19 / 8
Регистрация: 10.10.2009
Сообщений: 75
14.05.2011, 22:35 2
Есть событие Closing, в его обработчике, думаю, и нужно делать, что требуется.
0
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
15.05.2011, 00:04  [ТС] 3
В одном из методов внутри программы создал и запустил новый поток. Не могу теперь получить доступ к нему...
"WpfApplication1.MainWindow" не содержит определение для "t"

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public partial class MainWindow : Window
{
private void MyWebBrowser_Navigated(object sender, System.Windows.Forms.WebBrowserNavigatedEventArgs e)
        {
           Thread t = new Thread(sss);
           t.Start();
        }
       private void sss()
       {
       }
void MainWindow_Closing(object sender, CancelEventArgs e)
        {
           if(MainWindow.t.IsAlive())
                {
                }          
        }
}
Добавлено через 28 минут
Надоело извращаться над этими потоками, и вспомнил, что все создаваемые потоки приоритетный, и его можно сделать фоновым. Так что проблема решена)))

Добавлено через 4 минуты
Но вылезла другая проблема:
на панель в добавляются в фоновом потоке в цикле контролы в количестве где-то 100 штук. Контролы моего собственного создания). И вот на некоторых контролах происходит зависание на секунды полторы- две обоих потоков. Как можно отследить, какой именно из выполняемых методов так прогружает проц?
0
25 / 19 / 8
Регистрация: 10.10.2009
Сообщений: 75
15.05.2011, 17:33 4
Похоже, что потоки пытаются получить доступ к одному и тому же ресурсу. Чтобы этого избежать, используй мьютексы, мониторы...
Либо, если операции, проводимые потоками трудоемки, то попробуй работать с ними асинхронно.
0
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
15.05.2011, 21:03  [ТС] 5
Там контрол тормозил, из-за того, что я ошибся и добавил обработку одного метода(там производиться запрос к серверу) в основной поток. Отсюда и тормоза...
0
15.05.2011, 21:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2011, 21:03
Помогаю со студенческими работами здесь

Создание и завершение процессов и потоков. Приоритеты выполнения потоков
Здравствуйте. Буду очень раз если поможете понять,что конкретно нужно сделать в вот этом...

Завершение потоков
for (int i = 0; i < 15; i++) { LThread *l = new LThread(); threads.push_back(l);...

Завершение потоков POSIX
Подскажите как корректно завершить потоки POSIX. допустим у меня есть класс Thread Thread.h...

Самопроизвольное завершение потоков
Здравствуйте, делаю многопоточное приложение, пробовал использовать бустовские потоки и std потоки,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru