首先要分清楚一个“大小关系”,线程是进程的儿子。
线程是程序执行过程中的能够执行程序代码的一个执行单元,线程是程序的最小单元。
线程有4中状态:运行、就绪、挂起、结束
进程是指一段正在执行的程序,线程有时也被成为轻量级线程。一个进程可以拥有多个线程,各个线程之间共享程序的内存空间及进程级资源。但是各个线程又都拥有各自的栈。
使用多线程的好处:
(1).使用多线程可以减少程序的响应时间
如果使用单线程,程序在在执行的时候如果出现某个操作很耗时,就会使系统假死机。使用多线程后,可以将这个耗时的操作分配给一个单独的线程去执行,从而使程序具备了更好的交互性。
(2).与进程相比,线程的开销更加小
创建一个线程需要给这个线程单独的分配地址空间,建立数据结构来维护线程代码段。但是在同一个进程内的线程可以共享资源。
(3)充分利用计算机资源
目前的计算机都是具有多线程的能力,谁用单线程将无法重复利用计算机资源,造成资源浪费。
(4)使用多线程能简化程序的结构,使程序便于理解和维护。
一个复杂的进程可以分成多个线程来执行。
补充一下:实现java多线程的方法:
**1.继承Thread类,重写run()方法。
2.实现Runnable接口,实现接口run()方法。**
3.实现Callable接口,重写call()方法。