Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/68: Рейтинг темы: голосов - 68, средняя оценка - 4.81
 Аватар для stels009
16 / 15 / 1
Регистрация: 05.04.2011
Сообщений: 426

Ограничение времени на выполнение функции

02.08.2015, 19:20. Показов 13890. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
У меня есть примитивная функция типа
C#
1
2
3
4
5
6
int i = 0;
while(true)
{
    ++i;
    log(i);
}
Так вот мне нужно чтобы данная функция выполнялась не более 2000мс по истечению этого времени нужно сломать цикл break; и нужно учесть то, что данная функция запускается асинхронно в 100а потоках.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.08.2015, 19:20
Ответы с готовыми решениями:

Выполнение функции при наступлении определенного момента времени
Здравствуйте! Появилась задача выполнения каких либо операций при наступлении определенного момента времени, например наступление каждого...

в консоле ввод даты и времени,и при совпадении выполнение функции
Как осуществить?

Ограничение работы функции по времени
Как сделать ограничение по времени? Например если функция выполняется больше 15 секунд то вывести на экран "функция не работает",...

30
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
03.08.2015, 16:19
Студворк — интернет-сервис помощи студентам
Итак!
Вы пытаетесь проверить Proxy из списка на доступность?
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
03.08.2015, 17:25
Нус! Посмотрите такой вариант реализации!

Приложил картинку:


На ней видно что чекер работает!
Правда список проксей у вас кривой! Мало рабочих! Или нужно таймаут ставить больше двух минут!

UI при проверке виснуть не будет! Потоки система расчитает сама!
Вложения
Тип файла: 7z Mel.7z (109.7 Кб, 8 просмотров)
2
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
03.08.2015, 18:24
как сделать управляемую задержку
Почитай тему. Я чото там отвечал поводу ограничения времени выполнения примитивным способом.
Вообще можно использовать:

C#
1
Thread.Join(2000); //ждать 2 сек, пока поток завершится, если еще не завершился - остановится

Не по теме:


Но то, как ты вопросы задаешь, это полный ******, у меня слов нет просто :)
Особенно, про "примитивную функцию". У меня просто баттхерт случился какойто.

0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.08.2015, 19:18
stels009, класс Ping я так понял не устроил?

Алсо для желающих, запустить любую функци с таймаутом можно так:
C#
1
2
3
4
5
    public static async Task<bool> DoOrKill(Action action, TimeSpan timeout)
    {
        var task = Task.Run(action);
        return await Task.WhenAny(Task.Run(action), Task.Delay(timeout)) == task;
    }
true если успешно, false если отвалилась по таймауту.
1
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
03.08.2015, 20:03
Вот такой вариант пока лидирует по скорости!

Создаёт для обработки всего 7 потоков!
Вложения
Тип файла: 7z Mel.7z (108.2 Кб, 6 просмотров)
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.08.2015, 21:53
LeniumSoft, веселый ад

Так а в чем задача-то, просто пингануть толпу сайтов или что?
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
03.08.2015, 23:02
Цитата Сообщение от Psilon Посмотреть сообщение
Так а в чем задача-то, просто пингануть толпу сайтов или что?
ТС хочет на почтовые ящики отправлять инфу через кучу proxy.
Я помогаю с отбором проксей! Кормим огромный список с адресами, из него нужно выбрать только активные.
Активность соответственно определяем, загружая google через прокси. Ping не поддерживает proxy, поэтому не катит!

Добавлено через 1 минуту
Цитата Сообщение от Psilon Посмотреть сообщение
веселый ад
Мой там только ProxyManager.cs ну и его вызов из Form3
Остальное не моё!!!
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.08.2015, 00:52
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Мой там только ProxyManager.cs ну и его вызов из Form3
Остальное не моё!!!
я уж испугалсо

Цитата Сообщение от LeniumSoft Посмотреть сообщение
ТС хочет на почтовые ящики отправлять инфу через кучу proxy.
Я помогаю с отбором проксей! Кормим огромный список с адресами, из него нужно выбрать только активные.
Активность соответственно определяем, загружая google через прокси. Ping не поддерживает proxy, поэтому не катит!
Кстати поиск тоже рулит
Пинг сайта через прокси
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
04.08.2015, 09:56
Цитата Сообщение от Psilon Посмотреть сообщение
Кстати поиск тоже рулит
Смотрел я в сторону пинга!
Многие прокси на пинг отвечают, но сайт через себя не отдают!
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.08.2015, 16:17
LeniumSoft, так там не пинг Это только тема так называется.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
04.08.2015, 17:10
Цитата Сообщение от Psilon Посмотреть сообщение
Это только тема так называется.
Не усмотрел я! Сорри!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.08.2015, 17:10

Прервать выполнение функции через определенный промежуток времени
Друзья, здравствуйте. Есть некоторая функция, которая может отработать за несколько секунд, а может черт знает за сколько. Хочется...

Приостановить выполнение функции до наступления определённого момента времени
Допустим есть задача вывести сообщение ХХХ ровно 10 декабря 2017 года в 16:10. Как это реализовать? Идея создать цикл перед выведением...

Ограничение группы пользователей на выполнение команд по SSH
Здравствуйте! Есть группа gusers, в ней много юзеров, которые имеют доступ к серверу по SSH, да и вообще имеют права на выполнение...

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

Ограничение времени ввода.
нада дать юзеру 10 сек на ввод значения Х. Еси он провтыкал 10 сек, то стандартно Х = 0. в худшем случае дать возможность 10 секунд...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru