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

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

java - Java Piped Streams での例外処理

を使用してjsonStreamに変換しているxmlStreamがありorg.apache.wink.json4j.utils.XMLます。ここにコードがあります

XML.toJson が例外をスローすると、メイン スレッドが終了しないことがわかります。どうすればこれを処理できますか? これは、XMLストリームをJsonストリームに変換してさらに処理する良い方法だと思いますか? 提案があれば本当に感謝します。どうもありがとう!

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

opengl-es - TimerTask を使用してシェーダーを変更すると、50% の確率でエラーが発生する - LIBGDX

を使用してシェーダーを変更していTimerTaskます:

シェーダーは 50% の確率で正しくアクティブ化されます。それ以外の場合は、次のエラーで失敗します。

これはデスクトップでのみ表示され、モバイルでは表示されません。問題は何ですか?エラーが発生しないように、これらの呼び出しを ASYNC できる別の方法はありますか?

非同期メソッドを使用しない場合、シェーダーは常に正しく設定されますが、FPS が低下するので、それは望ましくありません。 (フレームレートに依存しない動きを使用しています。)

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

java - 同期ブロック

私はJavaのスレッドが初めてなので、この疑問があります。「同期された非静的メソッドブロック」では、1つのスレッドのみがブロックに入ることができると読みました(もちろん、非静的ブロックの1つのインスタンスに対して)。しかし、うまくいかないようです。何か不足していますか?次のコードを見てください。

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

java - ConcurentModificationException をスローできるのはどのクラスですか?

HiddenInterator の例を、Java 同時実行の実践書で見つけました。

私はすべてを理解しています!それはすばらしい!

次の質問があります。

Java では、ConcurentSkipListMap、ConcurrentHashMap などの同時コレクションがあり、問題は修正されています。しかし、問題が発生する可能性のあるクラスはどれですか(修正されていない場所)? たとえば、ベクターで発生する可能性はありますか? 私がテストしていたとき、ベクトルで ConcurentModificationException をスローできませんでした。

試験方法:

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

java - ConcurrentLinkedQueue を使用した Collection へのシリアル化されたアクセス

Java 7 ConcurrentLinkedQueue に関して次の質問があります。次のクラスがあるとします。

生成および消費関数は、リストのスレッドを生成/リストから削除するために、並行スレッドによって呼び出されます。キュー内の要素の追加/削除をシリアル化するために、以前の関数 consumer() および Produce() を実装します。上記は必須ですか、それとも ConcurrentLinkedQueue が処理しますか? コードのパフォーマンスを低下させたくないので、質問しています。

ありがとう、ニック

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

java - Java runOnUiThread および Thread.sleep

私はこのメソッドを別のクラスから持っており、呼び出しが終了すると、ImageView の色が赤から白に変わります。以下のサンプルコード:

問題は、Thread.sleep を配置した「if」条件になったときに始まります。以下のコードが実行されるまで 10 秒待機します。

Thread.sleep に関して、ここで何かが欠けていると思います。私はそれを取り除きたいだけですが、それ以外の選択肢がわかりません。ヘルプ。ありがとう。

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

java - プロセス フリーズ コンソールへの読み取り

そこで私は、インターフェイスを備えたプログラムを使用して Minecraft サーバーを実行できるようにする Java アプリに取り組んできました。シェル スクリプトを実行すると、すべての出力がウィンドウに表示され、入力を書き込むことができます。次に、入力はプロセスによって読み取られ、解釈されます。これにより、「start」、「stop」、「help」、「op」などのサブコマンドを使用できます。ただし、入力をプロセスに送信する方法がわかりません。

コンソールは次のようになります。

http://gyazo.com/cda6e7c25f9c450ca597587cadced745.png

私は次のことを試しました:

上の図で「入力」とラベル付けしたフィールドは、加速すると actionPerformed() メソッドを実行します。ただし、次の行でフリーズしているようです。br.read(cmd.toCharArray());

プロセスが外部で強制終了された後、フリーズが解除されます。強制終了されるまで、 System.out の部分も実行しません。だから、私の質問は次のとおりです。これを適切に行うにはどうすればよいですか?

編集:

ライターに変えたらハングしなくなりました。代わりに、コンソール メッセージを出力するだけです。

ライターには次のようにアクセスします。

BufferedWriter stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));

EDIT 2:コードをいじってみましたが、何も修正されていないようです。間違ったストリームに書いているような気がします。