問題タブ [omnithreadlibrary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - LIFOで処理されるOTLにタスクを追加する方法は?
私のアプリはフォルダーの画像をスキャンし、それらからサムネイルを生成してグリッドに描画します。OnDrawCell
OTL にタスクを追加して、必要な画像を読み取り、サイズを変更 (非同期) し、セルに (メインスレッドで) 描画するハンドラーがあります。ユーザーがグリッドをすばやくスクロールする場合を除いて、これは正常に機能します。これにより、数百のタスクがキューに追加されます。キューは FIFO (先入れ先出し)のように機能するため、ユーザーはスクロール先の画像が表示される前に、すべての画像が処理されるまで待機する必要があります。
私の現在のコード:
LIFO (後入れ先出し) 方式で実行されるタスクの追加を設定するにはどうすればよいですか?
もちろん、すでに処理中のタスクは続行する必要があります。最後に追加されたものになるように、キューから次のものを取得する必要があります。
delphi - OmniThreadLibrary C++ ビルダー ビルドの問題
OmniThreadLibrary をビルダーで実行しようとしてきました。C++ に必要なすべてのファイルを使用してビルドしましたが、問題なくビルドできましたが、C++ ビルダー アプリで使用すると、次のようなエラー メッセージが大量に表示されます。
[bcc32 エラー] DSiWin32.hpp(385): E2040 宣言が正しく終了しませんでした
生成された hpp ファイルのこのコード行を指す
static const System::Int8 CSIDL_ADMINTOOLS = System::Int8(0x30);
誰かがこれを C++ ビルダーで動作させたことがありますか、またはこれらの問題を解決する最善の方法を知っていますか
私はc++ビルダーセトルとOmniThreadLibraryバージョン3.06を使用しています
multithreading - OmniThreadLibrary タスクで実行中に TIdHTTP.Disconnect をトリガーする方法
OmniThreadLibrary からの CreateTask の匿名プロシージャで実行されているときに、Delphi シアトルで TIdHTTP のインスタンスを切断する方法を考えています。
私の現在のコードは次のようになります。
リクエストには非常に長い時間がかかる場合があり (40 ~ 60 秒など)、ユーザーにはリクエストを中止する機会が必要です。
TIdHTTP の OnWork イベントを使用していることは承知していますが、私の場合、これは適切ではありません。OnWork は、読み取り/書き込み操作があるときに呼び出されますが、サーバーを待っている間はそうではありません。
multithreading - Delphi でパイプライン パターンを使用する方法
テスト プロジェクト ( StringList で動作するように Mutlithreded idhttp 呼び出しを作成する方法) にパイプライン パターンを実装しようとしていますが、TThread
コードをパイプライン パターン コードに適応させるのに苦労しています。使用方法に関するリソースはあまりありません。
以下で最善を尽くしました。反対票を投じないでください。コードが乱雑であることはわかっていますが、必要に応じて質問を編集します。
multithreading - すべてのパイプライン タスクを正しく停止する方法
Pipleline タスクを正しく停止する方法を試してみましたが、[中止] ボタンを押すと AV が発生します。デバッグが苦手でDoOnStop(task);
、OtlParallel に到達した後、次に何をすべきかわかりませんでした。何か足りないと思いますか?
multithreading - メインスレッドから並列タスクを完全に終了するには?
このバックグラウンド スレッドをメイン スレッドから完全に終了するにはどうすればOnTerminated
よいでしょうか。
delphi - Parallel.Async バックグラウンド タスクにより高いタスク優先度を設定する方法は?
Parallel.Async
バックグラウンド タスクにより高いタスク優先度を割り当てる必要があります。OmniThreadLibrary には: このタスクSetPriority
に特定の優先度を設定するにはどうすればよいですか?Parallel.Async