Java多线程详细解读,不怕你学不会

java多线程应该是javaSe中比较难的一部分,好多人感觉学会了,但是真正有多线程的需求却不知道怎么下手,实际上还是对多线程这块知识了解不深刻,不知道多线程api的应用场景,不知道多线程的运行流程等等,下面给大家讲一讲到底什么是java多线程?

1、进程

      当一个程序被运行,就开启了一个进程, 比如启动了qq,word。

      程序由指令和数据组成,指令要运行,数据要加载,指令被cpu加载运行,数据被加载到内存,指令运行时可由cpu调度硬盘、网络等设备。

2、线程
      一个进程内可分为多个线程。

      一个线程就是一个指令流,cpu调度的最小单位,由cpu一条一条执行指令。

3、并行与并发
并发:单核cpu运行多线程时,时间片进行很快的切换。线程轮流执行cpu。

并行:多核cpu运行 多线程时,真正的在同一时刻运行,java提供了丰富的api来支持多线程。

4、为什么用多线程?
      多线程能实现的都可以用单线程来完成,那单线程运行的好好的,为什么java要引入多线程的概念呢?

多线程的好处:

(1)程序运行的更快!快!快!

(2)充分利用cpu资源,目前几乎没有线上的cpu是单核的,发挥多核cpu强大的能力。

5、多线程难在哪里?
      单线程只有一条执行线,过程容易理解,可以在大脑中清晰的勾勒出代码的执行流程。

      多线程却是多条线,而且一般多条线之间有交互,多条线之间需要通信,一般难点有以下几点:

(1)多线程的执行结果不确定,受到cpu调度的影响。

(2)多线程的安全问题。

(3)线程资源宝贵,依赖线程池操作线程,线程池的参数设置问题。

(4)多线程执行是动态的,同时的,难以追踪过程。

(5)多线程的底层是操作系统层面的,源码难度大。

      其他内容请看下方视频,保证你学完就会! https://www.bilibili.com/video/BV1xa41187R2icon-default.png?t=M276https://www.bilibili.com/video/BV1xa41187R2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值