Java通过继承Thread类来实现多线程
- 什么是多线程
多线程是多个任务同时进行的一种特殊的i形式。记住,多线程并非可以提高运行速度,而是为了充分的调度CPU - 多线程的优势
(1)进程之间不能共享数据,线程可以;
(2)系统创建进程需要为该进程重新分配系统资源,故创建线程代价比较小;
(3)Java语言内置了多线程功能支持,简化了java多线程编程。 - 这次先介绍一种实现多线程的方法
通过继承Java中的Thread类,重写其run()方法来实现多线程 - 来看代码
//继承Thread类创建的子类
package mythread;
public class MyTread extends Thread{
@Override
public void run () {
for(int i = 1 ; i <= 5 ; i++) {
System.out.println(this.getName()+"::"+i+"::"+"正在运行。。。");
}
}
}
//main方法使用多线程
package mythread;
public class demo {
public static void main(String[] args) {
MyTread t1 = new MyTread();
MyTread t2 = new MyTread();
MyTread t3 = new MyTread();
MyTread t4 = new MyTread();
t1.setName("aa");
t2.setName("bb");
t3.setName("cc");
t4.setName("dd");
t1.start();
t2.start();
t3.start();
t4.start();
int i =1 ;
while (i<=10) {
System.out.println(Thread.currentThread().getName() + " is running ... "); // 打印当前线程的名字
System.out.println(i);
i++;
}
}
}
-
运行结果
第一次运行结果
在运行一次
结果图片么有截全不过不影响分析 -
总结
发现俩次运行出来的结果是不一样的, 从运行结果来看,先是jvm创建的main线程,后调用的自己写的线程,代码的运行结果与代码执行顺序或者调用顺序是无关的。这是Java多线程的随机性。