【问题标题】:C# - Start multiple threads childs of the same "never-closing" father processC# - 启动同一个“永不关闭”父进程的多个线程子进程
【发布时间】:2017-04-04 14:30:16
【问题描述】:

我需要打开一个 CMD 窗口并运行一个启动环境的进程(命令 activate tensorflow)。然后,当需要时,我将另一个可以视为线程的命令与一系列其他命令一起启动到同一个窗口中。

实际上,父进程总是允许我在其中启动线程。这些线程的输出需要从 C# 程序中返回并显示为红色。
有人可以帮我吗?
谢谢

【问题讨论】:

  • 你尝试了什么?无法开始,其他具体问题?还是根本不知道?如果您想回答您的问题,请不要将 SO 视为编码服务,请展示您的努力。
  • 命令是进程,而不是线程。它们不能被视为线程。此外,当 .NET 有任务、PLINQ、Parallel.Foreach 等时,为什么还要使用线程呢?你想做什么?你描述的可以用一个简单的var results=(from item in lotsOfItems.AsParallel() select Stuff(item)).ToList();
  • 换句话说,您不需要父子线程或分叉和连接。还有其他更高级别和更轻量级的结构可供使用
  • 我启动了另一个可以被认为是线程的命令 false:你启动了一个新进程,这与线程非常不同;首先,新进程将拥有自己的内存空间,您无法从主进程访问。另外,从how-to-ask开始

标签: c# multithreading parallel-processing tensorflow


【解决方案1】:

如果您正在启动Process,您可能有兴趣将其input、output 和error 流重定向回调用方。因此,您可以对进程的 I/O 操作做出反应,并分别调用其他函数。

可以在here找到一些示例,另外,请阅读我已经链接的官方文档:

【讨论】:

  • 这似乎是合法的 ;-) 你能分享一个在“三个”进程中执行此操作的示例代码吗?谢谢
  • @MarcoRaoul 如果您阅读链接的文章,您会找到示例
  • 谢谢,我会尽力让你知道 ;-)
猜你喜欢
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
  • 2017-06-29
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 2015-03-22
相关资源
最近更新 更多