多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”
–内容来自百度百科
了解下万一面试问呢?
注意的是 进程和线程是两个概念
进程:计算机中每一个独立运行的程序都可以称为一个进程
线程:每一个进程中都至少有一个线程。在一个java程序中默认是一个单线程的就是我们的main方法
- 多线程入门
public static void main(String[] args) {
//创建一个内部类使其继承Thread
class tests extends Thread{
@Override
public void run() {
while (true){
//重写方法打印输出 hhhh
System.out.println("hhhhh");
}
}
}
//创建内部类对象
tests t = new tests();
//开启线程
t.start();
while (true){
System.out.println("111111");
}
}
使用内部类作为测试:
这个程序中发生了什么?
1:这个内部类继承了Thread类
2:重新了run()方法
3:创建内部类的实例对象后调用了start方法(这个方法会自动调用程序中的run方法)如果创建对象调用的时run方法那意味着这个程序还是一个单线程的他就会永远的陷入到你的while循环中直到你终止整个程序。
注意着两个程序是互相运行的!这样看可能会以为是代码的调用而运行的,这是单线程程序运行时的顺序!而在多线程中main()和run()方法可以同时运行而互不影响!
这是多线程和单线程的区别!
这是第一种实现多线程的方法!通过继承Thread类重新run方法并调用start方法来实现。
继承Thread类来实现多线程会有很大的缺陷性,因为你一旦继承了一个类就无法在去继承或实现其他的对象了,当你有其他的类或接口需要去实现的时候,继承Thread对象来实现多线程时机器糟糕的。但还好有更好的选择那就是通过去实现Runnable接口来实现多线程。在之后会进行实现和讲解。
在这篇文章中只需要了解的东西:
1:多线程的概念(深刻理解会对整个开发逻辑很有帮助)
2:多线程的Thread的实现方法
2.1:继承Thread
2.2:重写run方法
2.3:创建实现thread类对象并调用start方法
3:通过继承而实现多线程的缺陷性