Java ----- 线程(Thread)(一)了解线程与进程

计算机的操作系统大多采用多任务和分时设计,其中多任务:指的是在一个操作系统中可以同时运行多个程序,即有多个独立运行的任务,每个任务对应一个进程,每个进程又可以产生多个线程操作系统同时管理一个计算机系统中的多个进程,让计算机系统中的多个进程轮流使用CPU资源,或者共享操作系统的其他资源。

1、进程

进程(Process):  指程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。

其中,程序(Program):指的是对数据的描述与操作代码的集合。

进程的特点:

  进程是系统运行程序的基本单位

  每一个进程都有自己独立的一块内存空间、一组系统资源

  每一个进程的内部数据和状态都是完全独立的

如,在任务管理中查看正在运行的程序,每运行一个程序时就会产生一个进程

2、线程

线程是进程中执行运算的最小单位,一个进程在其执行过程中可以产生多个线程,而线程必须在某个进程内执行。线程是进程内部的一个执行单元,是可完成一个独立任务的顺序控制流程。

(1)、啥是多线程:

如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为多线程。

(2)、线程按照处理级别主要分为核心级线程和用户级线程

  核心级线程是和系统任务相关的线程,它负责处理不同进程之间的多个线程。允许不同进程中的线程按照同一相对优先调度方法对线程进行调度,使它们有条不紊地工作,可以发挥多处理器地并发优势,以充分利用计算机地软/硬件资源。

  用户级线程是开发程序时,由程序地需要而编写地线程称为用户级线程,这些线程的创建、执行和消亡都是在编写程序时进行控制的。对于用户级线程的切换,通常发生在一个应用程序的诸多线程之间,如迅雷中的多线程下载,可以同时执行多个下载任务,不但可以加快下载地速度,减少等待时间,而且还可以充分利用网络和系统资源。

(3)、多线程的优势

多线程程序可以带来更好的用户体验,避免因程序执行过慢而导致出现计算机死机或白屏的情况。

具有多个线程的进程能更好地表达和解决现实世界地具体问题,

多线程时计算机应用开发和程序设计地一项重要技术。 

多线程程序可以最大限度地提高计算机系统地利用效率,如迅雷下载

3、进程和线程地联系与区别:

一个进程中至少要有一个线程,进程包含线程,线程是进程的一部分

资源分配给进程时,同一个进程地所有线程共有该进程地所有资源

由处理机分配给线程,只有真正在处理机上运行地是线程

原文地址:https://www.cnblogs.com/obge/p/13526321.html