认识进程和线程

 

目录

 1. 进程

2. 线程

3. 多线程的优势

 4. 编写线程类


前言-----

(1)计算机的操作系统大多采用多任务和分时设计,多任务是指在一个操作系统中可以同时运行多个程序。

(2)例如在使用QQ聊天的同时听音乐,即有多个独立运行的任务,每个任务对应一个进程,每个进程又可以产生多个线程

 1. 进程

(1)程序(Program)是对数据描述与操作的代码的集合,如Office中的Word、暴风影音等应用程序。

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

(3)操作系统同时管理一个计算机系统中的多个进程,让计算机系统中的多个进程轮流使用CPU资源,或者共享操作系统的其它资源。

(4)进程有如下特点:

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

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

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

2. 线程

(1)线程是进程中执行运算的最小单位,一个进程在其执行过程中可以产生多个线程,而线程必须在某个进程内执行。

(2)线程是进程内部的一个执行单元,是可完成一个独立任务的顺序控制流程,如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为多线程。

(3)线程按处理级别可以分为核心级线程和用户级线程。

--》核心级线程

    -->核心级线程是和系统任务相关的线程,它负责处理不同进程之间的多个线程。

    -->允许不同进程中的线程按照同一相对优先调度方法对线程进行调度,使它们有条不紊地工作,可以发挥多处理器的并发优势,以充分利用计算机的软/硬件资源。

--》用户级线程

    -->在开发程序时,由于程序的需要而编写的线程即用户级线程,这些线程的创建、执行和消亡都是编写在应用程序时进行控制的。

    -->对于用户级线程的切换,通常发生在一个应用程序的诸多线程之间,如迅雷中的多线程下载就属于用户线程。

    -->多线程可以改善用户体验。具有多个线程的进程能更好地表达和解决现实世界的具体问题,多线程是计算机应用开发和程序设计的一项重要的实用技术。

(4)线程和进程既有联系又有区别:

--》一个进程中至少要有一个线程。

--》资源分配给进程,同一进程的所有线程共享该进程的所有资源。

--》处理机分配给线程,即真正在处理机上运行的是线程。


3. 多线程的优势

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

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

 4. 编写线程类

(1)每个程序至少自动拥有一个线程,称为主线程。
 

(2)当程序加载到内存时启动主线程
 

(3)Java程序中的public static void main()方法是主线程的入口,运行Java程序时,会先执行这个方法。
 

(4)开发中,用户编写的线程一般都是指除了主线程之外的其他线程。
 

(5)使用一个线程的过程可以分为以下4个步骤:

        第一步:定义一个线程,同时指明这个线程所要执行的代码,即期望完成的功能。

        第二步:创建线程对象。

        第三步:启动线程

        第四部:终止线程。

(6)定义一个线程类通常有两种方法,分别是继承java.lang.Thread类和实现java.lang.Runnable接口。

5. 使用Thread类创建线程

--》Java提供了java.lang.Thread类支持多线程编程,该类提供了大量的方法来控制和操作线程,常用方法如下:

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值