複数のクライアントからのファイルを同時に受け付けることができるサーバーを構築しようとしています。java network multithreading
しかし、それは順番にファイルを提出していると私はなぜ....
を理解していない誰が助けることはできますか?ありがとうございます
私は2つのスレッドのスニペットを投稿します。私が接続を受け入れるたびに、Submissionクラスをインスタンス化して実行します。
This is main thread that accepts connections
int poolSize = 1;
int maxPoolSize = 3;
long keepAliveTime = 10;
ArrayBlockingQueue<Runnable> queue = new ArrayBlockingQueue<Runnable>(5);
threadPool = new ThreadPoolExecutor(poolSize, maxPoolSize, keepAliveTime, TimeUnit.SECONDS, queue);
あなたが意味することは、 "それは 'clientServer.accept()'がブロックされているようです。"これはブロッキング呼び出しであり、クライアントがサーバーに接続するまで待機する必要があります。 clientServerオブジェクトでタイムアウトを設定していますか? – guru
それはあなたがそれが並行して走っていないと信じさせるのは何ですか?あなたがtomcatの下でこれを実行するなら、クライアントがhttp post経由でファイルを提出することができれば、これをすべて無料で入手できます。 – Kevin
ファイルを同時に提出していますか? 1つの接続ですべてのネットワーク帯域幅を使用していますか? –