3

IMクライアントの場合。私はパケットを(std ioで)送信し、パケットを受け取るのを扱うために2つの別々のスレッドを作った。問題は、これらの2つのスレッドを同時に実行させる方法です。同時に入力を求めるプロンプトを表示しながら、同時にパケットを受信できる状態にしておくことができます。2つのスレッドを同時に実行する

私はすでにタイマーを設定しようとしましたが、データは常に受信できなくなります。

+1

一般的に、あなたの行動を示すコードスニペットは、質の高い回答を得るための道のりです。 –

答えて

7

:スレッドが開始されます

 
myThread.start(); 

をし、実行()メソッドは、jvmによって自動的に実行されます。

スレッド実行メソッドがストリームから読み込み中で、それが唯一の読み込みである場合、そのストリームの中の何かを「ミス」しません。

18

詳しくは、完全な答えを出すのは難しいです。

Thread thread1 = new Thread() { 
    public void run() { 
    // ... your code here 
    } 
}; 
Thread thread2 = new Thread() { 
    public void run() { 
    // ... your code here 
    } 
}; 
thread1.start(); 
thread2.start(); 
+0

私の送信スレッドと受信スレッドはそれぞれUDPソケットでの送受信に依存しています。私が理解できるものから、あなたのサンプルコードはスレッドにコードを瞬時に注入するようです。私はそれらのためのrunnableクラスを作成したので、あなたのアプローチはそのようなものに適用されますか? – lamsaitat

+0

「コードをスレッドに即座に注入する」という意味はわかりません。おそらく、あなたが意味することをさらに説明するサンプルコードを投稿することができますか? – jsight

+0

はurコードのようにメインでローカルにスレッドを作成することができます – lamsaitat

7

さてあなたは、マルチプロセッサコンピュータを持っていない限り、彼らは同時にをを実行しませんが、それは、通常は問題ではないのです。それにもかかわらず、ここでは2つのスレッドを起動するためのコードです。何が起こるかは、各スレッドが時間のスライスを取得することです。

あなたがI/Oを失っているのであれば、本当の問題ではないでしょうか。あなたはこの物をどのように読んでいるのか教えていただけますか?

私はあなたがこのような新しいスレッドを開始することができます:-)

スレッド、ストリームまたはその両方のいずれかの重大な何かを見逃しているかもしれないと思う

関連する問題