我開發了一個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