行。我需要创建三个线程:一个获取奇数,一个获取偶数,一个将奇数和偶数相加。输出将是这样的(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。如何交错?并交错我想要的东西,我也应该同步线程吗?我不明白的是如何将奇数和偶数线程的值放入三分之一以添加总和。如果我没有得到正确的代码格式,请事先道歉。