今天我们来了解进程和线程相关的知识
进程就是正在运行的程序,它是系统资源调度的独立单位,并且一个进程可以执行多个任务,而线程就是程序执行的任务,它是程序使用CPU的基本单位,因此也可以说线程是依赖于进程的。
线程又分为单线程和多线程。单线程意味着程序只有一条执行路径。多线程就是可以分出多条路去做同一件事情,也就是程序有多条执行路径。多线程的存在,不是提高程序的执行速度,其实是为了提高应用程序的使用率,也可以说程序的执行其实都是在抢CPU的资源,也就是抢CPU的执行权,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权,但这一过程是随机的,不知道哪一个线程会在哪一个时刻占到这个资源,所以线程的执行有随机性。
实现多线程有两种方法,一是继承Thread类,重写run方法,然后调用start方法,这样就可以创建并执行新的线程,直接调用run方法可不是开始执行线程哟,因为run方法是由jvm从线程中调用的。
Thread类的一些方法经过grey_mouse用户的总结为一张图片如下所示
Runnable接口
Runnable接口也可以实现线程,这种方式扩展性强,可以实现一个接口,还可以再去继承其他类,当然这个也是要重写run方法的,实现该接口后与Thread类一起使用。