我开发了一个C#程序,我用它作为父进程的子进程(使用与C#不同的编程语言编写,即:Smallworld Magik)。使用C#程序的标准I/O通道进行通信。交互式C#进程通信
其含义是与Smallworld Magik进程中的C#程序进行通信。因此,C#程序应该接收来自Smallworld Magik进程的命令,而Smallworld Magik进程应该接收C#程序的结果/更新。
C#程序最初通过程序的主要方法接收参数。 C#程序将结果/更新写入输出通道,Smallworld Magik进程接收并处理它们。
在这里没有问题。
该问题位于由C#程序接收来自输入通道(System.Console.In)的输入命令。我使用System.Console.ReadLine()方法来获取输入命令。调用此方法会阻止进一步的程序执行。
有人对此有“非阻塞”解决方案吗? 由于我是一名新手C#开发人员,请保持低级:)。
你可以试试这个:http://stackoverflow.com/questions/57615/how-to-add-a-timeout-to-console-readline – Blorgbeard 2012-02-13 13:18:44
你是什么意思与“块” ?因为当你使用ReadLine()时,C#程序将等待输入数据,这是你调用“block”的吗?或者当您使用ReadLine()读取数据时,程序停止工作? – 2012-02-13 13:27:48