多くのタスクを実行する C++ dll に非常に大きな関数があります。ac# ラッパーから呼び出しており、c++ 関数が完了するまでに約 20 秒かかります。運営方法を変えたい。私の考えは、1.C++ 関数を async と呼び、2.C++ 関数を使用するタスクが完了するたびに、「task1 完了」メッセージを C# 関数に送信し、それをユーザーに表示して、何が何であるかをユーザーに知らせることです。バックグラウンドで進行中。
これを実行する方法はありますか?いくつかの例を調べましたが、混乱しています。誰かがこれをしたかどうか知りたいです。いくつかの指針を探しています。
例: C++ コード
int CppLibrary::ExecuteWorkflow( param1,param2, param3,param4,param5)
{
task1;
task2;
task3;
task4;
task5;
}
calling the C++ function from C# wrapper:
[DllImport(_dllLocation)]
public static extern int ExecuteWorkflow( param1,param2, param3,param4,param5);