Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 40

Альтернатива Thread::Sleep

22.01.2016, 20:31. Показов 2507. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите какую-нибудь альтернативу для функции Thread::Sleep, так чтобы не замирала вся программа (в это время выполняются другие функции)
Таймер не предлагать - не подходит...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2016, 20:31
Ответы с готовыми решениями:

Вывод изображений с промежутком во времени (Thread::Sleep)
Ребята, не судите строго делаю все методом тыка, только учусь. В общем суть вот в чем: нужно по нажатию кнопки вывести одну фотографию в...

Зависает форма при Sleep
Здравствуйте! У меня вопрос, когда я в Windows Form использую Sleep(5000); у меня зависает форма. Вопрос в общем такой, если...

Sleep или как этим пользоваться?
Кажется что за сегодня я уже задал много вопросов, но я не остановим! Сейчас интересен мне таймер внутри кода. Точнее - нужно...

3
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,901
Записей в блоге: 1
22.01.2016, 23:06
SuperSonic2013, глобально альтернатива ровно одна - не делать ничего долгоиграющего в UI потоке, а выносить это в отдельный поток. Более конкретный совет можно дать если ты точнее опишешь задачу.
1
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 40
24.01.2016, 20:08  [ТС]
У меня есть функция такого плана:
C++
1
2
3
4
5
6
7
8
9
String^ AsTy_SendRecv2(String^ request, int packet_dbg = 0, int only_send = 0){
    try {
        Отправить_получить
    }
    catch ( SocketException^ e ) {
        Вывод в richTextBox сообщения о том, что Дисконнект
        Повторная_попытка_соединения   
        }
}
Так вот мне нужна повторная попытка соединения через 10 мин, Thread::Sleep (600000) - не подходит, так как программа виснит(вернее ждёт Тред::Слип) и о том что повторная попытка соединения я сообщения сразу не увижу....дело в том, что она виснит и по другим причинам (это ещё в процессе отладки)...и я щас не могу понять она висит потому что где-то бесконечный цикл сработал или потому-что ждёт эту паузу...вообще сообщение хотелось бы увидеть сразу ну или через 5 минут когда я её открою...

Добавлено через 1 минуту
Вообще мне надо, чтобы если произошёл дисконнект появилось сообщение в ричтекстбокс и через 10 минут снова подключилась...Может не try и не catch использовать...я не знаю

Добавлено через 11 минут
Если в катч, например, использовать таймер (активировать заранее подготовленный который будет заного подключаться и после подключения его выключать - то да, но там другая проблемма:

my_project.cpp:
C++
1
2
3
4
5
#include "stdafx.h"
#include "login_form.h"
#include "mw_form.h"
#include "my_vars.h"
#include "mw_vars.h"
Описаная выше фукция находится в my_vars.h, таймер_тик будет находится в my_project.cpp
login_form.h - это фомра авторизации, по нажатию на кнопку Войти при успешной авторизации эта форма закрывается, открывается mw_form.h, где и находится этот таймер и этот ричтекстбокс для логов

Для того чтобы внести запись в этот текстбокс я делаю так(может и не правильно)

C++
1
2
mw_form^ _mw_form = gcnew mw_form();
mw_form^->RichTextBox_logs - добавить лог, вермя, имя авторизированого пользователя, последний лог вверху и т.д.
И у меня почему-то откарывается ещё одна пустая mw_form - без данных, ну типа Имя, возраст, пол Пользователя и другие

Как сделать чтоб форма не открывалсь..Происходит mw_form->Load() - хотя я не просил)

Добавлено через 14 минут
Кароче мне обратиться к элементу timer_conect на форме mw_form как мне это сделать ?)
0
6 / 6 / 0
Регистрация: 31.05.2015
Сообщений: 59
03.02.2016, 09:38
А чем Вас таймер не устраивает?
Добавляете в обработчик таймера переменную, которую инкрементируете, например раз в секунду.
Добавляете где ни будь еще условие, когда у Вас переменная по таймеру досчитает, например до 600 (10 мин), выполняете условие и обнуляете переменную счета.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.02.2016, 09:38
Помогаю со студенческими работами здесь

Альтернатива для TabControl
Кто разбирается в XAML, подскажите код для размещения TabControl, среда Visual C++ 2013 Приложения для Windows 8.1. Код TabControl из MSDN...

Есть ли альтернатива Thread.Sleep(); ?
Привет! Создал WinStore приложение (XAML/C#), при нажатии кнопки хочу чтобы в цикле картинка поворачивалась плавно. Какая есть...

Альтернатива записи Thread.Sleep
Всем привет, какая альтернатива для записи System.Threading.Thread.Sleep(1000); Вроде, это не "бестпрактис" ...

Более точная альтернатива Thread.Sleep(1)
Как подсказывает мне гугл, Thread.Sleep - это зло во плоти, атата, руки оторвут, и т.д. Раньше проблем не было, пока не возникла...

Альтернатива sleep() из С++11
В языке Си есть функция Sleep() из windows.h, но она сторонняя и платформо-зависимая Как можно решить ту же задачу, используя стандарт...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru