Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 12
1

прога зависает на моменте

26.03.2011, 19:43. Просмотров 631. Ответов 3
Метки нет (Все метки)

вот кусок кода на котором она собственно зависает

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   label.Text = "данные обрабатываются";  //выводится текст
    Thread z = new Thread(zi);   //создается поток 
    z.Start();
 
           int i = 0;
           
 
           while (i == 0)
     {
            if (z.IsAlive == false)  //если поток завершен 
             {
              label.Text = "обработано"; //вывод текста
              i = 1;
             }
    }
как его исправить, вот этот кусок while{...} грузит приложения пока не выполнится.
пробовал его вывести в метод но тогда label становится недоступным.
Подскажите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2011, 19:43
Ответы с готовыми решениями:

Намертво зависает успешно скомпиленная прога
Доброго времени суток, господа форумчане. Столкнулся с проблемой при тестировании несложной...

Установка зависает на определённом моменте
в общем такое дело: переустановил винду (7-ка), начал ставить студию (pro 2013 с офф сайта образом...

Prototype зависает на определённом моменте прохождения
здравствуйте.у меня игра прототип шла нормально до 5 или 6 миссии. пока мульт шел экран игры...

Mass Effect зависает на определённом моменте прохождения
На Нормандии там, где выбирается место полёта виснет. Виснет при любых настройках, хоть по...

3
22 / 22 / 3
Регистрация: 20.10.2010
Сообщений: 82
26.03.2011, 21:56 2
Значит условие "z.IsAlive == false" не выполняется.
Чтобы исправить, нужно создать таймер и, к примеру, каждые 100мсек проверять это условие. Хотя, есть и другие способы.
0
83 / 83 / 14
Регистрация: 15.02.2011
Сообщений: 252
27.03.2011, 16:59 3
Не спец, но можно label менять и из другого потока. копать в сторону BeginInvoke
0
Местный Ёжидзе
42 / 42 / 4
Регистрация: 03.03.2010
Сообщений: 225
27.03.2011, 19:02 4
Для обработки данных, если хочешь что бы они обрабатывались в другом потоке и при этом программа не зависала, то лучше использовать backgroundworker.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2011, 19:02

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

Скажите почему прога зависает. Не пойму. Прога имитирует входной потол: пользователь вводит предложение которое сохраняется в буфер.
STAK SEGMENT STACK db 256 dup(?) STAK ENDS DATA SEGMENT buf db 256d dup(?) ; nash bufer...

Зависает прога
Прога работает минут 10-20 затем зависает. Суть проги - запоминание иностранных слов. Существует...

Зависает прога
ПОМОГИТЕ ПРОГА ЗАВИСНИЛА!!!!!!!!!! Ctrl+Alt+Del не помогло...

Прога зависает
#ifndef CONNECTOR_H #define CONNECTOR_H #include <windows.h> #include <stdio.h> #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.