問題タブ [worker-thread]

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 に答える
7513 参照

java - Google App Engine のプッシュ キューとプル キュー

これまでのところ、プッシュキューとプルキューの違いを本当に明確に説明してくれる人は誰も (GAE のドキュメントでさえ) いません。

私の理解では、タスク キュー API を使用すると、作業をキューに入れることができるタスク キューを定義できます。どういうわけか、これは GAE の自動スケーリング機能と連動するため、これらのキューからタスクを消費するワーカー スレッドの数を明示的に管理する必要はありません。GAE がそれを行うだけです。

しかし、プッシュ キューとプル キューの違いに関する「キングズ イングリッシュ」の説明はどこにもありません。「プッシュキュー」プッシュとは何ですか? 「プル キュー」プルとは何ですか? 両方とも内部で構成されていqueues.xmlますか?

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

c++ - LPARAM lParam を CString に変換する方法

ワーカー スレッドで、メイン ダイアログに送信するメッセージを作成します。メイン ダイアログがメッセージを受信し、OnStatusUpdate() 関数に入ったら、LPARAM lParam からメッセージを抽出し、ダイアログの編集ボックスに表示したいと思います。私のメッセージを受け取る代わりに、私が得るのはゴミだけです。

0 投票する
3 に答える
921 参照

javascript - HTML5 アプリでのブラウザー データベースへのバックグラウンド データ ダウンロード - settimeout とワーカー スレッド

知っています

  • Javascript は厳密にシングル スレッドであり、settimeout は新しいスレッドを生成しません。代わりに、イベントループ モデルに従います
  • ワーカー スレッドは HTML5 の新しい機能であり、そのサポートはまだすべての HTML5 ブラウザで利用できるわけではありません

バックグラウンドでデータをダウンロードする目的で使用する必要があるのはどれですか? 経験がある場合、または利用可能なベンチマーク データがある場合は、共有してください。

質問することがどのように重要かはわかりませんが、完全を期すために、データは XML 形式であることが想定されており、データを取得するために複数のサーバー側サービスが呼び出されることに言及したいと思います。ハンドヘルド デバイス ベースのブラウザとデスクトップ ベースのブラウザのデータ ダウンロードの両方に対応するフレームワークは既に利用可能ですか?

0 投票する
2 に答える
1179 参照

android - サービスで長時間実行される操作を実行します

サービスを備えたアプリケーションを構築しています。すべてのアプリケーションコンポーネントが同じUIプロセスで実行されることは知っていますが、少なくともマニフェストで指定します。したがって、ANRのメッセージを回避するには、3つの方法があります。


  1. android:process = ":remote"のような別のプロセスで実行するようにマニフェストでサービスを指定しますが、バッテリーとCPU処理を大量に消費するため、これはお勧めできませんというStackOverflowの投稿を読みました。それらの投稿は信頼できる人々からのものなので、私は本当に尊敬しています。

  2. IntentServiceを使用します。それはおそらく良い方法です。ただし、アクティビティが表示されていなくても、サービスを実行する必要があります。サービスが必要なため、他のユーザーからの新しいメッセージがないかWebサービスをチェックし続け、通知を通じて通知します。IntentServiceを使用して可能でしょうか?それはエレガントな解決策です。

  3. ローカルサービスを使用します。マニフェストファイルからandroid:process = ":remote"属性を削除するだけです。しかし、いくつかの...OnMainThreadExceptionエラーが発生します。つまり、これらの長時間実行される操作を実行したり、AsyncTaskを使用したりするには、特別なスレッドを作成する必要があります。

多分それをする別の方法があります。サービスで長時間実行操作を実行する方法を教えてください。本当に不可欠です。

ありがとう。

0 投票する
2 に答える
457 参照

c# - プライオリティ キューでワーカー スレッドのパフォーマンスが低下する

ワーカー スレッドを使用して大規模なアルゴリズムを高速化しようとしたときに、より多くのスレッドで独立した優先キューを使用すると実際にパフォーマンスが低下することに気付きました。そこで、小さなテストケースを書きました。

ここでは、開始するスレッドの数を照会し、各スレッドを独自のプロセッサに設定し、プライオリティ キューから多くのものをプッシュおよびポップします。各スレッドは独自の優先キューを所有しており、それらは個別に割り当てられているため、偽の共有は疑われません。

スニペットよりも長いため、ここにテスト ケースを配置します。(プロセッサ アフィニティ ビットはNCrunchから取得されます)

.NET にはビルトイン キューがなかったため、プライオリティ キューは私自身が作成したものです。違いが生じる場合は、ペアリング ヒープを使用します。

とにかく、1 つのスレッドと 1 つのコアでプログラムを実行すると、約 100% の使用率になります。 1 コア 2 スレッド/2 コア 2 つのコア で使用率が低下し、最終的には 8 コアすべてで 30% の使用率にまで低下します。 8 コア

パフォーマンスの低下により、マルチスレッド化によるメリットがすべて無効になるため、これは問題です。パフォーマンスの低下の原因は何ですか? 各キューは他のスレッドから完全に独立しています

0 投票する
2 に答える
1347 参照

java - Javafxですべて/特定のバックグラウンドスレッドを強制終了するには?

アプリケーションには、ログイン、ホーム、プロファイル、機能の4 つのjavafx fxml-screens があります。ログイン後の様々な画面で大量のワーカースレッドが作成されます。ユーザーがログアウトする場合、Javafx-Application-Threadを除くすべてのワーカー スレッドをキャンセルする必要があります。

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

vb.net - axacropdflib - ワーカースレッドからソースを設定

左側にpdfのツリービューがあり、右側にacrobat AxAcroPDFビューアコントロールがあるvb.netプロジェクトがあります。ツリービューの項目をクリックすると、fileinfo.fullname の値が取得され、それが AxAcroPDF src プロパティに渡されます。

テスト中に、pdf の読み込みが遅く、UI スレッドをブロックすることに気付いたので、ワーカースレッドがこれらの pdf をバックグラウンドで遅延読み込みするのに適していると判断しました。

ワーカー スレッドの DoWork メソッドを使用してコードを実行し、pdfviewer オブジェクトを更新しようとすると、無効なキャスト例外が発生します。

System.InvalidCastException がキャッチされました HResult=-2147467262
Message='System.__ComObject' 型の COM オブジェクトをインターフェース型 'AcroPDFLib.IAcroAXDocShim' にキャストできません。IID '{3B813CE7-7C10-4F84-AD06-9DF76D97A9AA}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーのために失敗したため、この操作は失敗しました: サポートされているそのようなインターフェイスはありません (HRESULT からの例外: 0x80004002 (E_NOINTERFACE)) . Source=mscorlib StackTrace: System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) で AcroPDFLib.IAcroAXDocShim.set_src(文字列 pVal) で AxAcroPDFLib.AxAcroPDF.set_src(文字列値) で myapp.fill_treeview_with_docked_filesfolders_folders .LoadPDFInBackground(String selectedfile) in C:\Users\me\Desktop.....

この例外の詳細を含む他のスレッドをオンラインで見つけることができないため、ここで何が問題なのかわかりません。私の問題はクロススレッドアクセス違反に関係していると思いましたが、 Control.Checkforillegalcrossthreadcalls を false に設定しても同じ例外が発生します。ワーカー スレッドの目的は負荷を処理することであり、UI スレッドに負荷を戻すことではないため、とにかく DoWork ルーチンからの invokerequired をチェックすることは意味がありませんでした。

私がここにいることを達成するために試みることができる回避策を誰かが推奨できますか?

私のコード:

ツリービュー afterselect は displayfile に接続されています

バックグラウンドワーカーのもの: