Java多线程小结
多线程:
多线程的特点的各线程是执行顺序是无序的;与代码书写顺序无关
代码及解析
1.(实现Runnable接口):
import static java.lang.Thread.sleep;
public class Myrunnale implements Runnable{
//实现Runnable接口、实现run方法
public void run() {
for (int i=1;i<10;i++){
try {
sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}//添加sleep法方使运行时结果交替的概率增大
System.out.println("Runnable分支线程"+i);
}
}
2.(继承Thread类、重写run方法)
public class DuoXianCheng extends Thread{
@Override
public void run() {
for (int i=1;i<10;i++){
try {
sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread 分支线程"+i);
}
}
}
3.(main方法)
public class main {
public static void main(String[] args) {
DuoXianCheng x = new DuoXianCheng();
//这是直接继承Thread类的可以直接用对象来调用start();方法
x.start();
//调用start();(开始)方法,表示线程开始执行
Myrunnale y = new Myrunnale();
//这个类是实现了Runnable接口的不能直接调用start();方法
Thread z =new Thread(y);
//通过Thread类来调用start():方法
z.start();
}
}
执行结果:
Runnable分支线程1
Thread 分支线程1
Runnable分支线程2
Thread 分支线程2
Runnable分支线程3
Thread 分支线程3
Runnable分支线程4
Thread 分支线程4
Runnable分支线程5
Thread 分支线程5
Runnable分支线程6
Thread 分支线程6
Runnable分支线程7
Thread 分支线程7
Thread 分支线程8
Runnable分支线程8
Runnable分支线程9
Thread 分支线程9
Process finished with exit code 0
总结:
- 1.sleep((输入时间:毫秒));提高代码运行时各线程执行命令的结果交叉,便于我们看清结果;
- 2.直接继承Thread类的可以直接用对象来调用start();方法;
- 3.实现了Runnable接口的类不能直接调用start();方法,必须通过Thread 来调用start();方法