Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Процесс блокирует систему, что делать ? Добавлено: 08.12.06 17:52  

Автор вопроса:  student-uni

TStart = New ThreadStart(AddressOf BusyThread)
                            Thrd = New Thread(TStart)
                            Thrd.Start()
 



вот таким кодом запускаю нечто в подпрограмме BusyThread

так вот когда в подпрограмме BusyThread просто код - (доступ к БД или что угодно
поиск по диску итд) то блокировки системы нет
/даже когда например проблема с БД и без триады пришлось бы ждать ответа системы/
Окна переключаются
Триаду можно в любои момент убить
все ето происходит в отдельнои триаде


но стоит мне в BusyThread разместить старт процесса



Private Sub BusyThread()
        prcN = Process.Start(...)
    End Sub
 




/ подвешиваюшего процесса, ну например попытка доступа к неработаюсчеи Бд или старт нерабочего ВПН/
как система блокируется Окна не переключаются
не смотря на то что я запустил ето все в отдельнои триаде
и я не могу убить процесс

Почему ?
Как сделать процессстарт, чтоб если процесс вешает машину иметь возможность его убить
/иметь возможность переключиться в Нужное окно и кликнуть кнопку вызываюшую килл/

Спасибо

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 09.12.06 15:33
1. у меня в 2005 process.start вообще просто запускает процесс и идёт дальше (не держит поток).
2. не совсем логично убивать поток, чтобы убить процесс, который запустил этот поток. Не пробовал, но скорее всего убийство потока не повлияет на процесс. Логичнее убивать сам процесс.

В общем, я думаю, что надо создавать диспетчер процессов (в массив пихать все запущенные тобою процессы и так их контролировать).

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам