何かしらのライブラリの停止処理後、確実に停止するまで待つ必要があります。
単純に実装するなら
C#
1lib.stop(); 2while(lib.isActive()){}
という感じになると思うのですが、シンプルではありますがスマートじゃないかな...と思っています。
パフォーマンス的にもあまりよろしくないかな?と思っています。
パフォーマンスを気にするなら中でDelay
なりすればいいとは思いますが...
そこで、C#ではこういう書き方、待ち方があるよ
ふつうはC#ならこうやって書く
いや、待つならそう書くしかない
等、皆様の知識、意見をお借りしたいと思っております。
よろしくお願いいたします。
なぜ待つ必要があるのかという点については
質問文に書いてある関数名は適当な名前にしてありますが、
stop()
を呼び出してもライブラリがすぐに停止するわけでもなく、
また終了していなくとも関数はすぐに返ってきてしまいます。
停止処理後、ライブラリの終了処理を行うのですが、
完全に停止してない状態でライブラリの終了処理を呼び出すと、
終了処理内ではまってしまうという問題があります。
いや、そこはライブラリのほうで何とかしろや...
という思いはあるのですが、そういう問題があるため、isActive()
がfalseになるのを待つ必要があります。
追記
プロジェクトの種類:WPF
フレームワークのバージョン:.NET Framework 4.5.2
回答2件
あなたの回答
tips
プレビュー