問題タブ [java-threads]
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 - Java Piped Streams での例外処理
を使用してjsonStreamに変換しているxmlStreamがありorg.apache.wink.json4j.utils.XML
ます。ここにコードがあります
XML.toJson が例外をスローすると、メイン スレッドが終了しないことがわかります。どうすればこれを処理できますか? これは、XMLストリームをJsonストリームに変換してさらに処理する良い方法だと思いますか? 提案があれば本当に感謝します。どうもありがとう!
opengl-es - TimerTask を使用してシェーダーを変更すると、50% の確率でエラーが発生する - LIBGDX
を使用してシェーダーを変更していTimerTask
ます:
シェーダーは 50% の確率で正しくアクティブ化されます。それ以外の場合は、次のエラーで失敗します。
これはデスクトップでのみ表示され、モバイルでは表示されません。問題は何ですか?エラーが発生しないように、これらの呼び出しを ASYNC できる別の方法はありますか?
非同期メソッドを使用しない場合、シェーダーは常に正しく設定されますが、FPS が低下するので、それは望ましくありません。 (フレームレートに依存しない動きを使用しています。)
java - 同期ブロック
私はJavaのスレッドが初めてなので、この疑問があります。「同期された非静的メソッドブロック」では、1つのスレッドのみがブロックに入ることができると読みました(もちろん、非静的ブロックの1つのインスタンスに対して)。しかし、うまくいかないようです。何か不足していますか?次のコードを見てください。
java - ConcurentModificationException をスローできるのはどのクラスですか?
HiddenInterator の例を、Java 同時実行の実践書で見つけました。
私はすべてを理解しています!それはすばらしい!
次の質問があります。
Java では、ConcurentSkipListMap、ConcurrentHashMap などの同時コレクションがあり、問題は修正されています。しかし、問題が発生する可能性のあるクラスはどれですか(修正されていない場所)? たとえば、ベクターで発生する可能性はありますか? 私がテストしていたとき、ベクトルで ConcurentModificationException をスローできませんでした。
試験方法:
java - ConcurrentLinkedQueue を使用した Collection へのシリアル化されたアクセス
Java 7 ConcurrentLinkedQueue に関して次の質問があります。次のクラスがあるとします。
生成および消費関数は、リストのスレッドを生成/リストから削除するために、並行スレッドによって呼び出されます。キュー内の要素の追加/削除をシリアル化するために、以前の関数 consumer() および Produce() を実装します。上記は必須ですか、それとも ConcurrentLinkedQueue が処理しますか? コードのパフォーマンスを低下させたくないので、質問しています。
ありがとう、ニック
java - Java runOnUiThread および Thread.sleep
私はこのメソッドを別のクラスから持っており、呼び出しが終了すると、ImageView の色が赤から白に変わります。以下のサンプルコード:
問題は、Thread.sleep を配置した「if」条件になったときに始まります。以下のコードが実行されるまで 10 秒待機します。
Thread.sleep に関して、ここで何かが欠けていると思います。私はそれを取り除きたいだけですが、それ以外の選択肢がわかりません。ヘルプ。ありがとう。
java - プロセス フリーズ コンソールへの読み取り
そこで私は、インターフェイスを備えたプログラムを使用して Minecraft サーバーを実行できるようにする Java アプリに取り組んできました。シェル スクリプトを実行すると、すべての出力がウィンドウに表示され、入力を書き込むことができます。次に、入力はプロセスによって読み取られ、解釈されます。これにより、「start」、「stop」、「help」、「op」などのサブコマンドを使用できます。ただし、入力をプロセスに送信する方法がわかりません。
コンソールは次のようになります。
私は次のことを試しました:
上の図で「入力」とラベル付けしたフィールドは、加速すると actionPerformed() メソッドを実行します。ただし、次の行でフリーズしているようです。br.read(cmd.toCharArray());
プロセスが外部で強制終了された後、フリーズが解除されます。強制終了されるまで、 System.out の部分も実行しません。だから、私の質問は次のとおりです。これを適切に行うにはどうすればよいですか?
編集:
ライターに変えたらハングしなくなりました。代わりに、コンソール メッセージを出力するだけです。
ライターには次のようにアクセスします。
BufferedWriter stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
EDIT 2:コードをいじってみましたが、何も修正されていないようです。間違ったストリームに書いているような気がします。