❤️ 个人主页:水滴技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
🌸 订阅专栏:Java 教程:从入门到精通
文章目录
大家好,我是水滴~~
JUC 是什么
JUC 是
java.util.concurrent
工具包的简写,从 JDK1.5 开始出现,它是一个用于处理线程的工具包,包含了很多在并发编程中用到的类和接口。
该工具包的作者是 Doug Lea(道格·利),就是下面这位老大爷:
进程和线程
进程(Process)
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
在计算机中打开一个软件,就会开启一个进程,例如:浏览器、微信、QQ等。
线程(Thread)
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
进程与线程的区别
进程与线程其本质的区别在于:每个进程拥有自己的一整套变量,而线程则共享变量。共享变量使线程之间的通信比进程之间的通信更有效、更容易。
并且线程比进程更“轻量级”,创建和销毁一个线程比启动新进程的开销要小得多。
串行、并行和并发
串行(Serial)
串行表示所有任务都要按先后顺序一个个进行。串行意味着必须执行完一个任务才能执行下一个任务。
并行(Parallel)
并行可以同时执行多个任务,并访问不同的资源,它们互不干扰。
并发(Concurrent)
并发也是“同时”执行多个任务,但它们访问的是同一个资源。从宏观角度看他们是“同时”执行的,但从微观角度上,只有获得“时间片段”的任务在执行。
下面一张图可以很好的理解并发和并行的区别:
热门专栏
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
本文含有隐藏内容,请 开通VIP 后查看