Java并发学习笔记
并发是程序员永恒的命题。并发易学难精,没有稳扎稳打的第一步,前路坎坷易弃坑。
暴走的小橘子
应该有梦想
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
四、等待唤醒机制
1.等待唤醒机制的提出 前一篇文章主要讲了线程之间互相竞争资源所引发的线程安全问题,但线程之间除了竞争关系以外还有协同合作的关系。 假设现在有老板和顾客两个人,老板负责做包子,顾客负责吃包子。顾客必须要等到包子做好才能吃,而老板为避免剩包子必须等吃完吃完包子再做。在这种情况下,两个线程必须通过等待唤醒机制,来控制彼此的行为。下面通过两者的行为图来进行分析: ① 老板刚开始并没有被顾客唤醒...原创 2020-02-13 21:14:43 · 288 阅读 · 0 评论 -
三、Java线程安全
1.线程安全问题 通常情况下,一个进程中的比较耗时的操作(如长循环、文件上传下载、网络资源获取等),往往会采用多线程来解决。比如现实生活中,银行取钱问题、火车票多个售票窗口的问题,都需要多线程并发执行实现。当进程中有多个线程同时访问临界资源,也就是同时进入临界区时,很有可能引发线程安全问题,造成数据异常。正常逻辑下,同一张火车票只能售出一次,却由于线程安全问题而被多次售出,从而引起系统业务异...原创 2020-02-13 13:01:16 · 337 阅读 · 0 评论 -
二、Java多线程的实现
1.创建一个多线程程序 在没有接触线程之前,我们的程序都是通过 main ( ) 方法,也就是主方法来运行。主方法其实就是一个线程,被称为主线程,写在主方法里的代码都会从上往下依执行。如果现在有两个方法:方法 A 与方法 B,我们想让这两个方法同时运行,也就是并发执行,又该如何用代码来实现呢?Java 为我们提供了一个专门的多线程类 Thread,通过这个类我们就能实现多个线程同时执行。 ...原创 2020-02-11 21:05:11 · 388 阅读 · 0 评论 -
一、并发相关基础概念
1.并行与并发 并发性和并行性是既相似又有区别的两个概念。并行是指两个或多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。 举个形象的例子:把计算机看做一个加工食品的工厂,CPU是工厂中的机器,不同的事件当做不同的加工原料。并行就是有多个机器在同一时刻同时加工不同的原料,因此并行是需要硬件条件支持的。而并发是在只有一台机器的情况下,按照一定的加工次序,比如甲原料加工1分钟...原创 2020-02-10 20:15:58 · 539 阅读 · 0 评论
分享