1 / 1 / 0
Регистрация: 26.07.2012
Сообщений: 133
|
|
1 | |
Из одного потока запустить другой. Завершение первого не должно сказываться на работе второго18.12.2012, 15:26. Показов 768. Ответов 4
Метки нет Все метки)
(
Нужно из основного потока (а) вызвать определенный метод (файловый ввод\вывод, выполняется долго) (поток b) и затем закрыть основной поток (a), но что бы при этом поток (b) продолжал работу. Пробовал сделать с помощью асинхронных делегатов, потоков и пулов потоков - поток b уничтожается, как только отрабатывает поток a.
Посоветуйте пжст как сделать.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
18.12.2012, 15:26 | |
Ответы с готовыми решениями:
4
Как отследить завершение одного метода и по окончании его запустить другой Должно ли на скорости поворота сказываться ускорение/замедление?
|
1 / 3 / 2
Регистрация: 30.12.2010
Сообщений: 45
|
|
18.12.2012, 17:10 | 2 |
объясни зачем тебе второй поток?
если никак не обойтись без второго, сделай наоборот, пусть все делает дополнительный, а основной спит и ждет вызова нужного метода.
0
|
1 / 1 / 0
Регистрация: 26.07.2012
Сообщений: 133
|
|
18.12.2012, 17:17 [ТС] | 3 |
первый должен вернуть управление внешним программным средствам и спать ему низя, иначе будет вылет по таймауту. Идея, соответственно, такая - поток а запускает b и возвращает управление, b делает все что нужно уже никуда не спеша.
0
|
1 / 3 / 2
Регистрация: 30.12.2010
Сообщений: 45
|
|
18.12.2012, 23:13 | 4 |
ну и пусть А возвращает управление и делает не спеша работу (потока Б). Зачем же тебе 2 потока?
ты грубо говоря хочешь запустить прогу,потом ее закрыть,но чтоб работа продолжалась. бессмысленно как-то. Добавлено через 8 минут ну а если поток Б начинает раньше чем поток А закончит, то А передав управление может спокойно спать до окончания работы потока Б. не вижу проблемы
0
|
5 / 5 / 1
Регистрация: 09.12.2012
Сообщений: 14
|
|
19.12.2012, 04:48 | 5 |
Если идет речь о закрытии приложения(потока А) то для сохранения потока Б следует создать внешнее приложение, к которому уже обращаться из потока А. Если идет речь не о завершении приложения, тогда не отвечать я так понимаю будет приложение, для винды будет определяться как зависшее, тут можно обойтись без потока А а в потоке Б реализовать вызов Application.DoEvents(); это вызовет ответ системе о том что приложение не зависло. При этом приложение будет отслеживать и происходящие события и будет их обрабатывать прежде чем продолжить выполнять поток дальше. Вызов должен происходить примерно раз в секунду.
0
|
19.12.2012, 04:48 | |
Помогаю со студенческими работами здесь
5
Клиент-сервер: Если запустить первый поток то он работает, при запуске второго потока выходит ошибка
Извлечение информации из одного потока в другой
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |