多线程的含义(MultiThreading)
多个线程在同一个程序中同时运行。(一个线程就是一个CPU单位)
如图,可以看到可以同时启12个线程,一个线程是一个cpu单位,但一个线程不是一个cpu,所以常常听到什么6核12线程,8核16线程。
多线程的好处(The benefits of MultiThreading)
1.充分利用计算机性能,充分使用CPU。
2.更好的用户体验。(更快)
多线程的缺点
单核CPU和多核CPU。一个CPU上的线程不是真正意义上的并发,所以单核CPU不存在并发的问题。而多核CPU不同CPU的线程之间是可以实现真正意义上的并发。(I’m not sure, but I think it’ true, because I have read it form a real CS giant.)
Java中的线程模型
不同线程可以共享一个JAVA程序中的对象。
/**
* @author: create by liubh
* @email lbhbinhao@gmail.com
* @date:2020/3/15
*/
public class ShareStateTest {
public static void main(String[] args) {
Integer testValue = new Integer(20);
new Thread(()->{
System.out.println(testValue);
}).start();
}
}
新创建的线程中可以读取创建的对象,但不能做修改。
写上赋值语句idea中会提示
Variable used in lambda expression should be final or effectively final。
这是因为启动线程执行的代码都是自己实现的run()方法,是一个空参方法