C# 中的流程管道
我有一个循环生成新进程来运行一些“.exe”文件。我捕捉到 这些“.exe”文件的输出到我的文本框。为了捕获输出 马上,我无法使用 process.waitforexit() 方法。我的问题是对的 现在,如果前一个进程需要很长时间才能运行,则将运行第二个进程 不管前一篇是否完成。这搞乱了我的输出。
有没有办法让我将进程插入队列结构中,以便它 可以按顺序运行吗?
谢谢
I have a loop that spawn new process to run some ".exe" files. And I capture
the output of those ".exe" files to my textbox. In order to capture the outputs
right away, I can't use process.waitforexit() method. The problem I have right
now is if the previous process took a long time to run, a second process will run
regardless if the previous one finished or not. This messed up my outputs.
Is there a way for me to insert the processes into a queue structure so it
can be run in a sequential order?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当然:
这是 MSDN 上的
Queue(T)
。Sure:
Here's MSDN on
Queue(T)
.您还可以在线程中并行运行进程并仅对输出进行排队。
但是,您将不得不使用更复杂的锁定和通知系统。
You could also run the processes parallelly in threads and queue only the output.
However, you would have to use a more complicated locking and notification system.