进程:正在执行的程序。
线程:进程中一个负责程序执行的控制单元。
一个进程可以多执行路径,称之为多线程。一个进程至少要有一个线程。
开启多线程是为了同时运行多部分代码。
每一个线程都有自己运行的内容。这个内容称为线程要执行的任务。
好处:解决了同时运行的问题。
坏处:效率降低。
1、 如何创建?
方法一:
继承Thread类,覆盖run方法,直接创建Thread类的子类对象,调用start方法启用线程。
创建并启动一个线程:
方法二:定义类实现Runnable接口,覆盖接口中run方法,通过Thread类创建线程对象,并将Runnable接口的子类对象作为构造函数的参数。
方法2的好处是当类已经有父类的时候,不能再继承Thread类。这时使用接口实现线程的创建。实现Runnable接口仅仅是将线程的任务进行了对象的封装,然后通过Thread类创建对象去启用线程。
优点总结:将线程的任务从线程子类中分离出来进行了单独的封装。按照面向对象的思想将任务封装成对象。且避免了java单继承的局限性。
2、 线程状态
Start()
stop()
Sleep(time)
Wait()-notify()唤醒
未完待续……