問題タブ [futuretask]
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.
java - UI スレッドが AsyncTask を待機するとアプリケーションがクラッシュする
私は Android でアプリケーションを作成しています。ユーザーが新しいテキスト メッセージ (SMS) を受信するたびに最初にサーバーに送信され、サーバーが true と応答した場合はブロードキャストが中止され、それ以外の場合はブロードキャストします。
問題は、UI スレッドでサーバーと通信できないことです。この問題を克服するには、ある種のスレッドを使用してバックグラウンド操作を実行する必要があるため、AsyncTask を使用してサーバーと通信しています。これが私のコードです:
Android アプリ:
私が理解できない問題は、サーバーの応答を待つ必要があるため、使用callServer.get()
またはアプリケーションがクラッシュするたびにこれを行っているため、サーバーが true と応答した場合、ブロードキャストを中止できることです。while (callServer.getStatus().toString() == "RUNNING"){}
i.e: true or false
注: アプリケーションがサーバーでリクエストを送信したときにメッセージを受信するため、サーバー側のコードは完全に機能しています。また、単純なクライアント サーバー アプリケーションを作成して、サーバー側のコードをテストしました。サーバーはローカル マシンで実行されているため、ネットワークの問題はありません。
FutureTask も試しましたが、同じ問題に直面していました。どんな助けでも大歓迎です。
php - mysql データベース テーブルからの将来の日付レコードの選択
私のテーブルのアーキテクチャは次のとおりです。
上記のテーブルには、日付データ型が「l_from」と入力されています。今日の日付または今からのすべての将来の日付を持つすべてのレコードを選択したいと考えています。
このために、次のクエリを使用しました。
しかし、上記のクエリは役に立ちません。
私は変更しました
ただし、強調表示された行を返す句はありません。
何を着替える必要がありますか?
前もって感謝します
lift - liftweb SetHtml は ajaxsubmit で将来のオブジェクトを処理できませんでした
liftweb フレームワークの UI で将来の応答を表示したい。
以下はLoggable
スニペットmethod ( )processRequest
ですtextarea
SetHtml
Thread.sleep
SetHtml
onSuccess
私はそこにjsonを取得しますが、内部では機能しません。次のドキュメントSetHtml
があります。
指定された ID を持つノードのコンテンツを content によって指定されたマークアップに置き換えます
これは、Javascript で DOM オブジェクトの innerHtml プロパティに新しい値を割り当てることに似ています。
このアプリはすべてgithub で入手できます。
私が欲しいのはSetHtml
、リクエスト自体がajaxを介して行われる将来のオブジェクトを処理する際の解決策です。
java - JavaでのStrassen Algorithm Parallel実装
Strassen 行列乗算アルゴリズムを順次および並列の両方で実装しようとしています。次のコードを並列に実行したいのですが、並列プログラミングの経験がありません。
私はウェブを検索し、可能な解決策を見つけて、コードを再度整理しました:
2、4、8、16 のような少数の配列次元に対してプログラムを実行すると、順次バージョンとほぼ同じ時間で動作します。100 や 1000 などの大きな次元の場合、結果の計算には順次バージョンよりもはるかに長い時間がかかります。私の並列実装は間違っていますか?
java - Java: Executor、FutureTask、Unsafe.unpark - printStackTrace を防ぐ方法は?
Java では、Executor を介して Callable を非同期的に実行するために FutureTask を使用しています。呼び出しスレッドからエラーが発生したかどうかを確認するには、Callable から潜在的な例外をスローする必要があります。ただし、これにより、スタックトレースが System.out に出力されます (デバッグしたところ、これは LockSupport.unpark(Thread) から Unsafe.unpark(Thread) 内で発生します)。
これを防ぐ方法はありますか?
以前に(SLF4Jを介して)実際のロガーに例外を記録しており、System.outで直接スタックトレースを取得したくありません。
更新: 関連情報は既に指摘したと思いますが、すべての質問を明確にするために: このテスト ケースは問題を再現できます (メソッド testTransferStreamAsyncCallbackFail()): https://github.com/mmm/util/blob/master/io/ src/test/java/net/sf/mmm/util/io/base/StreamUtilTest.java
使用される実装は次のとおりです。
eniter コードを介してデバッグしましたが、コンソールにログを記録するのは明らかに私のコードではありません。私が説明しようとしたように、これはJDKで行われます。
質問に答える追加の更新:
私が使用しているエグゼキュータ は Executors.defaultThreadFactory() です /base/SimpleExecutor.java#L30 https://github.com/mmm/util/blob/master/io/src/main/java/net/sf/mmm/util/io/base/StreamUtilImpl.java#L165
出力は、Callable からテストでスローした例外のスタック トレースです。
java - キャンセル後に FutureTask から結果を取得する
Callable
インスタンス内で長時間実行される計算を検討してください。
そして、この計算の結果は、計算時間に応じてある程度の精度を持つ可能性があることを考慮してください。つまり、タスクがキャンセルされる場合、キャンセルする前にそれまでに計算されたものを返す必要があります (たとえば、計算する無理数のコンベアがあります)。
標準の Java 同時実行ユーティリティを使用してこのパラダイムを実装することが望ましいです。
Future
とインターフェースを完全に再実装しなければ、ThreadPoolExecutor
この問題は解決できないようです。Java 1.7 でそのための便利な既存のツールはありますか?