在开启线程之前,我们先了解两个小概念:
什么是进程?
         通过任务管理器我们就看到了进程的存在。
         而通过观察,我们发现只有运行的程序才会出现进程。
         进程:就是正在运行的程序。
         进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。
        
什么是线程呢?
         在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。
         线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。
         单线程:如果程序只有一条执行路径。
         多线程:如果程序有多条执行路径。
线程初接触
开启线程:
1 . 继承 Thread 类2. 实现 Runnable 接口两种方式的比较:
实现Runnable接口优势:
1)适合多个相同的程序代码的线程去处理同一个资源
2)可以避免java中的单继承的限制
3)增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。
继承Thread类优势:
1)可以将线程类抽象出来,当需要使用抽象工厂模式设计时。
2)多线程同步
在函数体使用优势
1)无需继承thread或者实现Runnable,缩小作用域。
实际开发中大多数使用  Runnable;