У меня есть класс C#, MyCommand, который запускается с использованием backgroundWorker и пула потоков. MyCommand выполняет исполняемый файл командной строки с использованием класса Process. Экземпляры MyCommand, каждый в своем потоке, запускаются серийно, а не параллельно. Мне просто интересно, будет ли выполнение Process.Start() в MyCommand блокировать другие потоки.C# Несколько одновременных System.Diagnostics.Process
0
A
ответ
1
No Process.Start не блокирует. Однако приложение, которое вы запускаете, может. Например, если он использовал мьютекс, чтобы убедиться, что только один экземпляр был запущен за один раз.
1
Ответ прост: нет, запуск процесса не блокирует другие потоки.
Смежные вопросы
- 1. C# System.Diagnostics.Process как обрабатывать несколько командных файлов
- 2. несколько одновременных нажатий клавиш C#
- 3. C# Пауза/Стоп System.Diagnostics.Process
- 4. C# - System.Diagnostics.Process не существует
- 5. C# System.Diagnostics.Process verb issue
- 6. System.Diagnostics.Process
- 7. Несколько одновременных HTTP-запросов
- 8. Несколько одновременных симуляторов iOS
- 9. Несколько одновременных анимаций кнопок
- 10. несколько одновременных вызовов URL
- 11. Как запустить System.Diagnostics.Process в C#?
- 12. Несколько одновременных клиентов с gsoap
- 13. System.Diagnostics.Process issue with WorkingDirectory
- 14. Возможно несколько одновременных запросов Ajax?
- 15. Обрабатывать несколько одновременных соединений SFTP
- 16. Несколько одновременных шаблонов для grep
- 17. Как реализовать несколько одновременных логинов?
- 18. Как разрешить несколько одновременных скачиваний
- 19. Несколько одновременных систем контроля версий?
- 20. Несколько одновременных событий, выполняющихся одновременно
- 21. Twisted SSH несколько одновременных команд
- 22. Несколько одновременных запросов Ajax медленны
- 23. Fooling System.Diagnostics.Process WaitForExit()
- 24. System.Diagnostics.Process - Del Command
- 25. Несколько одновременных читатели без использования блокировки в C#
- 26. PowerShell C# Host - несколько одновременных удаленных команд-команд
- 27. Выяснить, который System.Diagnostics.Process закончил
- 28. Несколько одновременных приложений FastCGI на одном сервере
- 29. Избегание одновременных одновременных переключений
- 30. Как обрабатывать несколько одновременных упругих столкновений?
Являются ли эти длительные процессы, которые могут вызвать фатальное исключение? Если нет, я бы не пошел с процессом. Проверьте параллельную библиотеку задач в MSDN. – IAbstract
Что-то не так с вашим кодом. Однако мы не можем сказать, что не так, не видя * ваш код. –
В этом процессе я запускаю исполняемый файл, который расшифровывает файл, поэтому каждый поток расшифровывает другой файл. Программа расшифровки завершается. Я распечатываю его вывод. Программа дешифрования скомпилирована из источников C++. Но, основываясь на других ответах, кажется, что это может иметь какое-то отношение к самой программе. Итак, в моей форме я начинаю работу с фоновым работником с помощью нажатия кнопки, которая выполняет выполнение до DoWork. В этом методе я запускаю поток с помощью пула потоков, используя пример, приведенный в следующей статье: http://msdn.microsoft.com/en-us/library/3dasc8as%28v=vs.80%29.aspx – udeleng