わかった。3 つのスレッドを作成する必要があります。1 つは奇数を取得するスレッド、もう 1 つは偶数を取得するスレッド、もう 1 つは奇数と偶数を加算するスレッドです。出力は次のようになります (1,2,3,3,4,7...)。私はスレッドが初めてで、スレッドがどのように機能するかについてまだ不安定ですが、これは私がこれまでに持っているものです:
class even extends Thread
{
public void even()
{
Thread ThreadEven = new Thread(this);
start();
}
public void run()
{
try
{
for(int i = 0; i < 10; i += 2)
{
System.out.println(i);
}
Thread.sleep(1000);
}
catch(Exception e)
{
System.out.println("Error: Thread Interrupted");
}
}
}
class odd extends Thread
{
public void odd()
{
Thread ThreadOdd = new Thread(this);
start();
}
public void run()
{
try
{
for(int i = 1;i < 10; i += 2)
System.out.println(i);
Thread.sleep(1000);
}
catch(Exception e)
{
System.out.println("Error: Thread Interrupted");
}
}
}
class ThreadEvenOdd
{
public static void main(String args [])
{
even e = new even();
odd o = new odd();
}
}
これは 0,2,4...そして 1,3,5 を出力します。インターリーブする方法は?そして、私が望むものをインターリーブしていますか?スレッドも同期する必要がありますか? 私が理解していないのは、奇数スレッドと偶数スレッドの値を 3 分の 1 にして合計を加算する方法です。コードのフォーマットが正しくない場合は、あらかじめお詫び申し上げます。