問題タブ [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 投票する
2 に答える
1319 参照

java - Java: 自端末でサブプロセスを開始

2 つのコントローラーと、両方を開始する 1 つのプログラムがあります。1 つはデータを生成するエミュレーターで、もう 1 つはデータを分析します。2 つのコントローラーは相互に依存し、RMI を使用して通信します。したがって、別のスレッドでエミュレーターを開始し、メイン スレッドでアナライザーを開始します。 それは完全にうまくいきます。

問題は、どちらもコンソールにかなりの量の出力を生成することであり、2 つの異なる端末に出力することを本当に望んでいます。それを行う方法はありますか?

新しいコマンド ライン内のサブ プロセスとしてエミュレーターを起動しようとしました(プラットフォームに依存しないことが次のステップになります)。

ただし、classpathが長すぎて、の出力cmd.exeThe command line is too long.

独自の出力端子を持つ別のスレッドまたはプロセスを生成する方法を知っていますか? 何か提案をいただければ幸いです。

乾杯

アップデート

OlaviMustanoja の回答をこのソリューションと組み合わせました http://unserializableone.blogspot.co.uk/2009/01/redirecting-systemout-and-systemerr-to.html

標準System.outSystem.errおよびスタック トレースを使用するようになりました。また、スクロールします。

0 投票する
4 に答える
11823 参照

java - Java スレッドの状態遷移、WAITING から BLOCKED、または RUNNABLE?

SO コンセンサスと、インターネット上のほぼすべての Java スレッド状態図との間には矛盾があるようです。具体的には、起動後または起動 のスレッド状態遷移について...WAITINGnotify()notifyAll()

したがって、SO に関するコンセンサスは次WAITINGBLOCKEDとおりnotify()ですnotifyAll()。下の図は、この遷移を緑色で示しています。

質問

Web 上のほとんどの状態図が からWAITINGへの遷移を示しておりRUNNABLE、 ではないのはBLOCKEDなぜですか? 赤色の描写は、正しくない遷移を示しています。私は何かを逃していますか?

ここに画像の説明を入力

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

java - Java スレッドが必要な理由

一般的な質問があります。Java の本を読んでいて、スレッドを使用するプログラムに出くわしました。本は、スレッドがマルチプロセッシングに使用されると述べました。私が書いたらそれを知りたい:

run メソッドをオーバーライドしてユーザーからの入力を取得すると、入力を待ってから、フレームを開くなどの GUI タスクを実行するか、両方のタスクを同時に実行します。

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

java - スレッドがスリープ中の同期メソッドでのロック解除

スレッドは、同期メソッドでスリープ状態に移行するときに取得したロックを解放しますか?

0 投票する
4 に答える
105 参照

java - Javaでのいくつかの同時実行設計

サーバーから巨大な画像を取得する必要がありますが、画像が大きすぎるため、サーバーはそれを実行できません。その写真の小さな部分を取得できるように、「座標」を与えることができます。そのため、画像を 100 個のタイルに分割し、10 個のタイルを行に追加し、各行を追加します。順番に行うとうまくいきます。現在、10 個のタイルをダウンロード -> それらを行に追加 -> 次の 10 個のタイルをダウンロード -> 行に追加 -> 2 行目を最初の行に追加 -> 次の 10 個のタイルをダウンロードなど (簡略化):

しかし、行が非常に大きいため、それらを互いに追加するには非常に時間がかかります。それらが追加されている間、他のタイルをダウンロードするスレッドを作成できると思いました。そして、ここに問題があります。私は並行してプログラミングすることに慣れていません。技術的にどのように行われるか (Runnable の実装など) は知っていますが、どのように設計すればよいですか? downloadImage(xcoord, ycoord)別のスレッドで実行するというアイデアがありましたが、 removeBlackColor(tile). また、スレッド内またはスレッドが終了した後?..そして、誰が何を(結合して)待つべきですか? それほど混乱していなかったことを願っています。どこかでさらに説明が必要な場合はお知らせください。