java线程概念_理解Java多线程概念

严格来说,多任务系统并不是真正地并发执行多个任务,在单核CPU系统中,操作系统会根据很小的时间间隔交替执行多个任务(应用程序),使得这些应用程序看起来就像是在并行运行一样。多核CPU可以做到真正意义上的并发执行。

1、什么是多线程

前面我们编写的Java程序都是从main方法开始顺序执行每行代码,代码执行完成之后,结束整个应用程序。这样顺序执行的程序称为单线程程序,单线程程序在同一个时间内只执行一个任务。在实际处理问题的过程中,单线程程序往往不能适应复杂的业务需求。例如,在WEB项目中,多个用户通过浏览器客户端向服务器端发出请求,如果服务器端采用单线程程序处理用户发送的请求,将会导致用户等待响应时间过长,服务效率低下的问题。要想缩短用户等待时间,提高服务效率,可以采用多线程的程序来同时处理多个请求任务。

多线程程序将单个任务按照功能分解成多个子任务来执行,每个子任务称为一个线程,多个线程共同完成主任务的运行过程。例如,前面提到的WEB项目,服务器端主程序将用户的每个请求创建一个线程(子任务)去处理用户的请求,这样就可以提高服务器端的服务性能,缩短用户等待响应时间。

2、进程和线程的区别

进程是每个独立程序在计算机上的一次执行活动。例如,运行中播放器、浏览器等。运行一个程序,操作系统就启动了一个进程,进程加载程序代码、分配程序所需的资源环境,每个进程都有独立的代码和数据空间(进程上下文),进程可以由多条路径并发执行,并发执行的多条路径称为多线程。线程是比进程更小的执行单位,多个线程共享进程的代码、数据空间,但每个线程都有独立的运行栈和程序计数器。

进程是每个独立程序在计算机上的一次执行活动,线程是进程中的一个执行路径,线程依赖于进程而存在。

3、认识线程

先来看一段大家已经很熟悉的程序代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值