概述
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/BV1xa41187R2https://www.bilibili.com/video/BV1xa41187R2
最后
以上就是花痴蚂蚁为你收集整理的Java多线程详细解读,不怕你学不会的全部内容,希望文章能够帮你解决Java多线程详细解读,不怕你学不会所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复