多线程多线程在java中打印偶数和奇数?
就语法而言,我对Java中线程和多线程的区别有点困惑。我需要写一个程序来打印偶数0到30,然后使用线程和另一个程序来做同样的事情使用多线程。我写了一个程序,它运行并执行它应该执行的操作,但我不知道它是线程还是多线程,也不知道如何执行它没有执行的操作。这是我的程序-
public class OddEven extends Thread {
public static void main(String args[]){
Runnable r1 = new Runnable1();
Thread t1 = new Thread(r1);
Runnable r2 = new Runnable2();
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
class Runnable1 implements Runnable{
public void run(){
for(int i=0; i<=30; i+=2) {
System.out.println(i);
}
}
}
class Runnable2 implements Runnable{
public void run(){
for(int i=1; i<=30; i+=2){
System.out.println(i);
}
}
}
这个程序会被认为只是一个线程吗
public class OddEven {
public static void main(String args[]){
for(int i=0; i<=30; i+=2) {
System.out.println(i);
}
for(int i=1; i<=30; i+=2){
System.out.println(i);
}
}
}
# 1 楼答案
多线程使您能够同时执行多个工作
例如,如果你做了一个游戏,其中一个男孩向前移动;继续开火。如果你使用单线程系统,那么要么一个男孩可以向前移动,要么一次可以向他的敌人开火。他不能同时做这两项工作
在您的例子中,当您调用
t1.start();
时,将启动一个新线程,该线程将执行Runnable1's
方法。然后你调用了t2.start();
,它会立即启动另一个线程&;您的Runnable2's
方法将被执行这两种方法将同时执行。如果不使用多线程,那么只有在完成第一个循环后,下一个循环才会开始
多线程主要用于主线程可能会处理很长时间的程序;你想使用程序的其他功能
希望这有帮助