我創建了一個包含兩個函數的Matlab dll。功能1運行3-4毫秒,功能2運行約1秒。我需要在C#中持續運行Function1並且不時地運行Function2。我經歷過,當我運行Function2時,Function1不會連續運行,或者需要3-4毫秒以上(2-3秒範圍內的某些內容)。一旦Function2完成,Function1就返回到正常/快速狀態。這些是我已經嘗試過的:從一個Matlab DLL同時調用兩個函數
- 我在單獨的線程中調用Function2,但沒有運氣! (Function1也在單獨的線程中運行)。
- 我用backgroundworker而不是線程(以防萬一),沒有運氣!
- 我爲Function2創建了一個單獨的dll,並再次遇到相同的問題/延遲/延遲。
有沒有人有這個問題的任何想法/解決方案? Matlab是否在單線程中運行函數/代碼?如果沒有,是否有指定函數單獨的線程?
我很感激任何幫助。
感謝您的評論。你認爲他的建議解決方案適用於沒有任何Web服務的C#嗎? – NESHOM
重點是使用單獨的進程來承載Matlab運行時。 WCF只是在所述過程之間建立通信的一種方式。如果你不想使用WCF,你需要使用一些其他的進程間通信方式。 – Douglas
您能否將我引到頁面以獲取更多信息?我沒有得到「使用單獨的流程」部分。基本上我打電話給一個DLL。我看到,無論何時使用dll,Matlab.exe都出現在我的進程列表中。但我不知道如何爲此使用多個Matlab實例。謝謝 – NESHOM