Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
19 / 8 / 7
Регистрация: 26.12.2013
Сообщений: 167

Когда while проводит проверку условия

04.02.2016, 16:19. Показов 829. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть поток threadX. Когда он завершится, нужно вывести месседж бокс о завершении.
У потоков нет событий. Поэтому делаю (на клике button1)
C#
1
2
3
while (threadX.ThreadState==ThreadState.Running) 
Application.DoEvents();
MessageBox.Show("Complete");
Месседж бокс выскакивает сразу по клику button1

Короче, вопрос: while срабатывает 1 раз за событие?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2016, 16:19
Ответы с готовыми решениями:

Записать условия когда является истинным , когда:
Записать условия когда является истинным , когда: целое N кратно четырем и не оканчивается нулем Привет всем вот мой код но он у меня...

Сделать проверку условия
Всем хай. Кто может помочь с делфи ? Вот у меня в коде такая строчка : Memo1.Lines.Add('"Rar.exe" a "' +...

Зaдача на проверку условия
http://i040.***********/1102/b3/e94810696b12.jpg Решите пожалуйста г,д. (Натуральные числа задавать одномерным массивом)

5
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.02.2016, 16:55
depravity, Как это нет?
C#
1
2
3
4
5
            new Thread(() =>
                       {
                           Thread.Sleep(TimeSpan.FromSeconds(2));
                           MessageBox.Show("Hello from thread!");
                       }).Start();
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
04.02.2016, 16:58
Цитата Сообщение от depravity Посмотреть сообщение
У потоков нет событий.
Ага, а у переменных нет делегатов.

Используйте лучше Task, ContinueWith, async await и проч.
0
675 / 421 / 44
Регистрация: 09.07.2012
Сообщений: 1,419
04.02.2016, 17:26
While ( условие ) { тело цикла } - если условие истинно то выполнить тело цикла, вернутся к проверке условия.

Что бы не делать этого в вашем случае используйте Thread.Join(); Это скажет, текущий поток, подожди пока закончит свою работу другой поток.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
04.02.2016, 17:42
depravity, while работает правильно - проверяет условие перед каждой итерацией цикла. Проблема во ThreadState. Если поток будет что-то ждать или "спать", то ThreadState = WaitSleepJoin. Поэтому лучше проверять на Stopped
C#
1
while (threadX.ThreadState != ThreadState.Stopped) Application.DoEvents();
А еще лучше прислушаться к совету Woldemar89.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
04.02.2016, 18:02
depravity, тут с 15:00 можно посмотреть про Task - неплохо описано.
http://www.youtube.com/watch?v=5iGsceTRgyc
Но, естественно, лучше посмотреть все части темы "Многопоточность".
Недавно цикл продолжился и 3ю часть выпустили.

Добавлено через 9 минут
Исчо тут почитай.
Как выполняется метод, использующий async и await?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2016, 18:02
Помогаю со студенческими работами здесь

Как попустить проверку условия IF ?
У меня есть долгий цыкл который сверяет цвета пикселей на экране монитора. procedure TForm1.Button1Click(Sender: TObject); var...

Задача на проверку условия вместимости
Здравствуйте! Ни как не могу решить задачу! Может кто подскажет?

Сделать проверку условия в foreach
есть select, в нем option выстраиваются из БД. нужно проверить, если в сессии уже есть выбраный option, то сделать его selected ...

Условия на проверку режима таблицы
Здравствуйте, есть проблема. Пытаюсь проверить условия включена ли таблица в режиме редактирования или добавления и если да, то вывести...

Условия на проверку отсутствия значения в базе
If IbQuery4=nil or IbQuery4=nil or IbQuery4=nil or IbQuery4=nil or IbQuery4=nil or IbQuery4=nil or IbQuery4=nil or IbQuery4=nil or...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru