wxFTP を使用して FTP サーバーにファイルをコピーしたいのですが、UI をブロックせずに、プログレス バーを表示しながらコピーしたいと考えています。余分なスレッドなしでこれを行うことはできますか?
私は wxLua を使用していますが、wxWidgets バインディングを使用する限り、任意の言語で記述されたソリューションを適応させることができます。
wxFTP を使用して FTP サーバーにファイルをコピーしたいのですが、UI をブロックせずに、プログレス バーを表示しながらコピーしたいと考えています。余分なスレッドなしでこれを行うことはできますか?
私は wxLua を使用していますが、wxWidgets バインディングを使用する限り、任意の言語で記述されたソリューションを適応させることができます。
wx.lib.delayedresultを使用してみてください。wxPython で利用できますが、wxWidgets ライブラリにもあるかもしれません。別のワーカー スレッドを作成し、ワーカー スレッドが ジョブを終了すると呼び出されるコンシューマー関数で呼び出されます。かなり便利なもの。
詳細については、 wxPython のドキュメントを参照してください。
このために独自のスレッドを開始することの何が問題になっていますか?
ストリームcanRead()メソッドを定期的に (タイマーまたはイベント ループで) チェックし、true が返されたときにのみ読み取ることができますが、別のスレッドを開始するよりもはるかに複雑になる可能性があります。