1、概念
什么是进程:进程是资源分配的最小单位,每一个进程之间有独立的数据空间和运行代码。
什么是线程:线程是cpu的最小单位,每一个线程有独立运行栈和程序计数器,同一类线程共享代码和数据空间。
他们的关系:1> 一个进程包含1---n个线程。线程之间切换开销小,进程之间切换开销大。(注:开销是占用内存空间大小)
2> 线程和进程都包含五个阶段:创建、就绪、运行、阻塞和终止。
3> 多进程是指系统运行多个程序或任务。
4> 多线程是在同一个程序或任务中有多个顺序流在执行。
2、作用
优点 1>可以解决均衡负载问题,充分利用CPU的资源,为了提高CPU的使用率,采取多线程方法来完成多事情而无不干扰。
2>多数情况下为了处理大量的IO的操作或是需要花费大量时间的任务,要放到后台进行处理,发挥多核处理器的优势。如下载视频或者图片等,提高用户体验值。
缺点 1>降低代码的可读性。
2>多线程相对单线程来说开销大。
3>当多个线程同时争夺一个资源的时候需注意线程安全隐患的问题。
3、实现多线程三种方式:
第一种是继承Thread类,第二一种是实现Runable接口,第三种是实现Callable接口,并与Future、线程池结合使用。常用的未前面的两种。