Можно ли объект процесса использовать вторично?
От: XJess  
Дата: 18.10.10 09:23
Оценка:
Привет всем!
Вопрос такой — можно ли писать так:

Process p = new Process();
p.StartInfo.FileName = "program1.exe";
p.Start();
p.WaitForExit();
p.StartInfo.FileName = "program2.exe";
p.Start();
p.WaitForExit();


Я так понимаю, что, скорее всего, нет — надо создавать каждый раз новый объект процесса? Хотя код работает — я проверяла.
Re: Можно ли объект процесса использовать вторично?
От: Пельмешко Россия blog
Дата: 18.10.10 09:37
Оценка: +3
Здравствуйте, XJess, Вы писали:

XJ>Можно ли объект процесса использовать вторично?


Зачем? т___т
Re[2]: Можно ли объект процесса использовать вторично?
От: XJess  
Дата: 18.10.10 09:41
Оценка:
Здравствуйте, Пельмешко, Вы писали:

П>Зачем? т___т


Для экономии на спичках, хотя вряд ли, наверное, что-то будет сэкономлено. А вообще просто интересно, можно ли так делать.
Re[3]: Можно ли объект процесса использовать вторично?
От: Пельмешко Россия blog
Дата: 18.10.10 09:53
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>Здравствуйте, Пельмешко, Вы писали:


П>>Зачем? т___т


XJ>Для экономии на спичках, хотя вряд ли, наверное, что-то будет сэкономлено. А вообще просто интересно, можно ли так делать.


Если у Вас получилось, то можно. Но ни в коем случае не нужно.
Скажите, если создавать два объекта, то наблюдаются ли какие-то тормоза, гигабайты памяти лишней отжираются? На чём экономия? Есть видимые проявления каких-либо проблем?
Почему если класс назван Process (единственное число), то экземпляр Process должен логически представлять более одно исполняемого модуля?
Re[4]: Можно ли объект процесса использовать вторично?
От: XJess  
Дата: 18.10.10 09:56
Оценка:
Здравствуйте, Пельмешко, Вы писали:

П>Если у Вас получилось, то можно. Но ни в коем случае не нужно.

П>Скажите, если создавать два объекта, то наблюдаются ли какие-то тормоза, гигабайты памяти лишней отжираются? На чём экономия? Есть видимые проявления каких-либо проблем?
П>Почему если класс назван Process (единственное число), то экземпляр Process должен логически представлять более одно исполняемого модуля?

Ну да, были у меня такие мысли. Просто хотела проверить.
Re[4]: Можно ли объект процесса использовать вторично?
От: Pavel Dvorkin Россия  
Дата: 18.10.10 10:08
Оценка: +1
Здравствуйте, Пельмешко, Вы писали:

П>Если у Вас получилось, то можно. Но ни в коем случае не нужно.


Никакого криминала тут нет.

public bool Start()
{
    this.Close(); // предусмотрено - PD
    ProcessStartInfo startInfo = this.StartInfo;
    if (startInfo.FileName.Length == 0)
    {
        throw new InvalidOperationException(SR.GetString("FileNameMissing"));
    }
    if (startInfo.UseShellExecute)
    {
        return this.StartWithShellExecuteEx(startInfo);
    }
    return this.StartWithCreateProcess(startInfo);
}



П>Скажите, если создавать два объекта, то наблюдаются ли какие-то тормоза, гигабайты памяти лишней отжираются? На чём экономия? Есть видимые проявления каких-либо проблем?


С этим согласен.


П>Почему если класс назван Process (единственное число), то экземпляр Process должен логически представлять более одно исполняемого модуля?


Этот аргумент не пойдет. Он вполне может представлять собой больше одного модуля в разное время.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.