Java ----- 线程(Thread)(一)了解线程与进程
计算机的操作系统大多采用多任务和分时设计,其中多任务:指的是在一个操作系统中可以同时运行多个程序,即有多个独立运行的任务,每个任务对应一个进程,每个进程又可以产生多个线程。操作系统同时管理一个计算机系统中的多个进程,让计算机系统中的多个进程轮流使用CPU资源,或者共享操作系统的其他资源。
1、进程
进程(Process): 指程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。
其中,程序(Program):指的是对数据的描述与操作代码的集合。
进程的特点:
进程是系统运行程序的基本单位
每一个进程都有自己独立的一块内存空间、一组系统资源
每一个进程的内部数据和状态都是完全独立的
如,在任务管理中查看正在运行的程序,每运行一个程序时就会产生一个进程
2、线程
线程是进程中执行运算的最小单位,一个进程在其执行过程中可以产生多个线程,而线程必须在某个进程内执行。线程是进程内部的一个执行单元,是可完成一个独立任务的顺序控制流程。
(1)、啥是多线程:
如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为多线程。
(2)、线程按照处理级别主要分为核心级线程和用户级线程。
核心级线程是和系统任务相关的线程,它负责处理不同进程之间的多个线程。允许不同进程中的线程按照同一相对优先调度方法对线程进行调度,使它们有条不紊地工作,可以发挥多处理器地并发优势,以充分利用计算机地软/硬件资源。
用户级线程是开发程序时,由程序地需要而编写地线程称为用户级线程,这些线程的创建、执行和消亡都是在编写程序时进行控制的。对于用户级线程的切换,通常发生在一个应用程序的诸多线程之间,如迅雷中的多线程下载,可以同时执行多个下载任务,不但可以加快下载地速度,减少等待时间,而且还可以充分利用网络和系统资源。
(3)、多线程的优势
多线程程序可以带来更好的用户体验,避免因程序执行过慢而导致出现计算机死机或白屏的情况。
具有多个线程的进程能更好地表达和解决现实世界地具体问题,
多线程时计算机应用开发和程序设计地一项重要技术。
多线程程序可以最大限度地提高计算机系统地利用效率,如迅雷下载
3、进程和线程地联系与区别:
一个进程中至少要有一个线程,进程包含线程,线程是进程的一部分
资源分配给进程时,同一个进程地所有线程共有该进程地所有资源
由处理机分配给线程,只有真正在处理机上运行地是线程