多线程基础
#1.什么是多线程:
即多条执行路径
什么是线程:
是进程的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程至少有一个线程
那什么是进程呢?
进程:
是指一个内存中运行的应用程序,每个进程丢有一个独立的内存空间
线程实际上实在进程的基础上进一步划分,一个进程启动后,里面的若干执行路径又可以划分为若干个线程
2.线程调度:
分时调度:所有线程轮流使用cpu使用权,平均分配每个线程占用CPU的时间
抢占式调度:优先让优先级高的线程使用cpu,如果现成的优先级相同,那么会随机选择一个
java使用的是抢占式调度
注意:多线程并不能提高程序的运行速度,但能够提高程序的运行效率,让cpu的使用率跟高
这是一个继承了Thread方法的类,因为该类是抽象的,所以需要重写里面的run方法,run方法里面的代码,就是一条新的执行路径。
我们在主线程也写上一个方法,这样就会出现两条执行路径,主线程和我们自己新创建的线程。
每个线程都有自己的栈空间,但共用堆内存
但是,我们后续的多线程调用用的最多的是Runnable接口
通过Runnable接口就可以很方便的实现多个线程同时调用