![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
У меня такая задача.
есть время к примеру. 12-00 12-05 12-10 и на каждое время надо сделать несколько задач. и они могут занять время больше чем 5 минут... я боюсь что 12-05 просто перескочит. как это избежать? |
|||
|
||||
| Dobermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 992 Регистрация: 7.1.2008 Репутация: 1 Всего: 0 |
Запусти задачу для 12-05 в другом потоке
|
|||
|
||||
| nmn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: 1 Всего: 1 |
используй таймер из System.Threading он реализован через потоки
|
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Dobermann, я в них так и не разобрался=(
nmn, и как будет это работать... таймер заработает в 12-05 и он будет ждать пока окончится работа других обработок, и потом запуститься ? з.ы хотя как вариант задачи складывать в лист... |
|||
|
||||
| uranpro |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 571 Регистрация: 7.5.2008 Где: Moscow city Репутация: 1 Всего: 1 |
-------------------- I want a perfect soul |
|||
|
||||
| Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: нет Всего: 6 |
В 12-00 запустится первый поток, в 12-05 второй, 12-10 третий, все потоки будут работать параллельно. В том же порядке они и завершатся когда выполнится код. В такой схеме нужно будет позаботиться об общих ресурсах, делать lock где это нужно. А вообще если это что-то вроде пользовательского scheduling сервиса, то лучше предлагать пользователю ввести более широкий интервал для длительной задачи.
Если про многопоточность что-то не понятно, то спрашивай. |
|||
|
||||
| Dobermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 992 Регистрация: 7.1.2008 Репутация: 1 Всего: 0 |
||||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
с потоками я вроде понял. но сейчас ещё не могу их протестить.
Thread t = new Thread(new ThreadStart(Go)); t.Start(); это будет запуск Go в новом потоке. Thread t = new Thread(new ThreadStart(Go)); t.Start(); t.Start(); а это два потока? значит надо запускать в таймере??? а вот с таймером так и не понял...как каждую секунду проверять которое время? |
|||
|
||||
| uranpro |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 571 Регистрация: 7.5.2008 Где: Moscow city Репутация: 1 Всего: 1 |
DenWPF, это один поток, не знаю что произойдет) TimeSpan
-------------------- I want a perfect soul |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
тогда я не черта не понял.
у меня есть класс в консруктор приходит List с инструкциями. вот 12-00 запускается одина инструкция, в 12-05 другая. как это реализовать? |
|||
|
||||
| DEADLY |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 23.8.2007 Репутация: 1 Всего: 1 |
Execute();
Это сообщение отредактировал(а) DEADLY - 16.2.2010, 13:17 |
||||||
|
|||||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
ого...спасибо.
буду тестить. gettime()- это чисто ваша функция ? можно же спарсить время и сравнить ... вроде понял. |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
эээ запускаю эту конструкцию и все зависает...
помогите=( |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |