問題タブ [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.

0 投票する
1 に答える
140 参照

delphi - LIFOで処理されるOTLにタスクを追加する方法は?

私のアプリはフォルダーの画像をスキャンし、それらからサムネイルを生成してグリッドに描画します。OnDrawCellOTL にタスクを追加して、必要な画像を読み取り、サイズを変更 (非同期) し、セルに (メインスレッドで) 描画するハンドラーがあります。ユーザーがグリッドをすばやくスクロールする場合を除いて、これは正常に機能します。これにより、数百のタスクがキューに追加されます。キューは FIFO (先入れ先出し)のように機能するため、ユーザーはスクロール先の画像が表示される前に、すべての画像が処理されるまで待機する必要があります。

私の現在のコード:

LIFO (後入れ先出し) 方式で実行されるタスクの追加を設定するにはどうすればよいですか?

もちろん、すでに処理中のタスクは続行する必要があります。最後に追加されたものになるように、キューから次のものを取得する必要があります。

0 投票する
1 に答える
195 参照

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を使用しています

0 投票する
0 に答える
247 参照

multithreading - OmniThreadLibrary タスクで実行中に TIdHTTP.Disconnect をトリガーする方法

OmniThreadLibrary からの CreateTask の匿名プロシージャで実行されているときに、Delphi シアトルで TIdHTTP のインスタンスを切断する方法を考えています。

私の現在のコードは次のようになります。

リクエストには非常に長い時間がかかる場合があり (40 ~ 60 秒など)、ユーザーにはリクエストを中止する機会が必要です。

TIdHTTP の OnWork イベントを使用していることは承知していますが、私の場合、これは適切ではありません。OnWork は、読み取り/書き込み操作があるときに呼び出されますが、サーバーを待っている間はそうではありません。

0 投票する
1 に答える
1254 参照

multithreading - Delphi でパイプライン パターンを使用する方法

テスト プロジェクト ( StringList で動作するように Mutlithreded idhttp 呼び出しを作成する方法) にパイプライン パターンを実装しようとしていますが、TThreadコードをパイプライン パターン コードに適応させるのに苦労しています。使用方法に関するリソースはあまりありません。

以下で最善を尽くしました。反対票を投じないでください。コードが乱雑であることはわかっていますが、必要に応じて質問を編集します。

0 投票する
1 に答える
221 参照

multithreading - すべてのパイプライン タスクを正しく停止する方法

Pipleline タスクを正しく停止する方法を試してみましたが、[中止] ボタンを押すと AV が発生します。デバッグが苦手でDoOnStop(task);、OtlParallel に到達した後、次に何をすべきかわかりませんでした。何か足りないと思いますか?

0 投票する
1 に答える
566 参照

multithreading - メインスレッドから並列タスクを完全に終了するには?

このバックグラウンド スレッドをメイン スレッドから完全に終了するにはどうすればOnTerminatedよいでしょうか。

0 投票する
1 に答える
724 参照

delphi - Parallel.Async バックグラウンド タスクにより高いタスク優先度を設定する方法は?

Parallel.Asyncバックグラウンド タスクにより高いタスク優先度を割り当てる必要があります。OmniThreadLibrary には: このタスクSetPriorityに特定の優先度を設定するにはどうすればよいですか?Parallel.Async