文档章节

泡一杯茶,学一学同异步

LieBrother
 LieBrother
发布于 06/27 08:33
字数 1142
阅读 934
收藏 2

Java 多线程系列文章第 2 篇

接下来几篇会给大家屡清楚多线程中涉及到的一些概念,理解了这些概念,往后的文章才好明白。

今天给大家讲讲同步异步这兄弟俩。

同步 & 异步

通过咱们现实中的一个场景来描述这 2 个干巴巴的词。大家身边不知道有木有朋友是潮汕的?潮汕地区每家每户都有功夫茶,只要来客人,一定会用功夫茶来招待。功夫茶关键在于功夫两字,功夫指的是泡茶方式比较讲究,它不像咱上班时用保温瓶泡茶,而是有一道泡茶的流程和工具。下面在网上找到的功夫茶口诀(作为潮汕人这么久,都不知道有这口诀,是听我女朋友说有这个口诀才知道。。。)

潮汕功夫茶冲泡口诀:

  1. 白鹤沐浴(洗杯):用开水洗净茶杯并提高茶具温度。
  2. 观音入宫(落茶):把铁观音茶放入茶具,放茶量约占茶具容量的五分。
  3. 悬壶高冲(冲茶):把滚开的水提高冲入茶壶或盖瓯,使茶叶转动。
  4. 春风拂面(刮泡沫):用壶盖或瓯盖轻轻刮去漂浮的白泡沫,使其清新洁净。
  5. 关公巡城(倒茶):把泡一、二分钟后的茶水依次巡回注入并列的茶杯里。
  6. 韩信点兵(点茶):茶水倒到少许时要一点一点均匀地滴到各杯中,使其浓淡均匀。
  7. 鉴尝汤色(看茶):观赏杯中茶水的颜色,闻茶之香气。
  8. 品啜甘霖(喝茶):乘热细缀,先嗅其香,后尝其味,边啜边嗅,浅斟细饮。饮量虽不多,但能齿颊留香,喉底回甘,心旷神怡,别有情趣。

有客人来的时候,我们会先煮水,没等到水煮沸就先洗茶杯,落茶,等到水煮沸了,再冲茶,倒茶。这个过程中,有些步骤是同步的,比如洗茶杯和落茶,肯定要把茶杯先洗干净后再落茶,一个人没法同时干这 2 件事,我们关注点放在煮水这个过程,是先煮水,煮水需要比较长的时间,煮水的过程中把茶杯洗了,还有落茶,这个过程其实就是异步,异步指没有干等待水煮沸,在煮水的过程做其他事情(洗茶杯、落茶),这就像是发送了一个消息,通知说要煮水,然后就继续自己该干嘛干嘛,异步的过程完全不影响当前做的其他事。下图反映了煮水步骤是异步的这个过程。

如果主人用下面方式来泡茶,不是新手就是不欢迎你(开玩笑,有可能是主人一见如故,想趁着煮水和你唠家常)。上面讲了异步泡茶的方式,下面讲同步泡茶是啥回事。看下图,把煮水这个过程放在了时间线下方,也就是在煮水的时候干等着水煮沸,不做其他的事情,这就是同步,很明显,最后整个泡茶的过程耗时比异步的长。

总结

这里在简单总结一下(如有错误请大家帮忙纠正):

同步(Synchronous):特指在同一个线程里面执行的内容之间的关系是有顺序的;线程之间需要同步时,就需要使用一些显式的同步方式,这也是多线程带来的大问题,在多线程编程需要特别关注。

异步(Asynchronous):特指一些执行内容可以不用直接等待运行结果,异步执行的内容一般是在另一个线程运行,只需要运行完结果反馈回来就行。

推荐阅读

进程知多少?

设计模式看了又忘,忘了又看?

公众号后台回复『设计模式』可以获取《一故事一设计模式》电子书

觉得文章有用帮忙转发&点赞,多谢朋友们!

LieBrother

© 著作权归作者所有

LieBrother
粉丝 129
博文 52
码字总数 79901
作品 0
深圳
程序员
私信 提问
加载中

评论(6)

大牛之于小白
大牛之于小白
不知道说啥,祝楼主新年快乐吧
开源中国-首席生育师
LieBrother
LieBrother 博主
哈哈,正如你评论
isscy
isscy
说了一堆废话
LieBrother
LieBrother 博主
说明你已经掌握了这些知识,很棒👍
主流豆腐
@isscy 没必要这样朋友
推荐几本对于Python初学者比较好的书籍(内含PDF)

我们提供一个初学者最好的Python书籍列表。Python是一个初级程序员可以学习编程的最友好语言之一。为了帮助您开始使用Python编程,我们分享此列表。泡一杯茶,选一本书阅读,开始使用Python编...

柯西带你学编程
2018/06/08
0
0
JAVA 设计模式 模板方法模式

定义 AbstractClass : 抽象类,定义并实现一个模板方法。这个模板方法定义了算法的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类去实现。顶级逻辑也有可能调用一些具体方法。 Conc...

guitar_zp
2015/01/06
0
0
一个最简单的设计模式-模板方法

  我又不乱来      一个最简单的设计模式-模板方法      《Head First设计模式》已经读了不止一遍,但是始终没有进行系统的进行总结。所以近期开始总结设计模式相关的知识,从模板...

SEOwhywhy
07/15
11
0
看看这里涉及多少IT知识

大家喝的是啤酒。这时你入座了。 你给自己倒了杯可乐,这叫低配置。 你给自已倒了杯啤酒,这叫标准配置。 你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。 你给自己倒了杯可乐,还滴...

真的农夫三拳
2011/06/09
685
14
出路在哪里

今天我想说的是职业发展的事。 在我没有接触编程之前,我是一名网管,那么是什么原因让我接触到编程的呢。原来是我在做网管时候,那家公司有许多内部应用(网站)都是请外面的公司来驻场开发...

fumingfu
2017/06/06
1K
8

没有更多内容

加载失败,请刷新页面

加载更多

SQL性能优化

SQL性能优化 一、SQL的执行顺序 顺序:FROM——ON——JOIN——WHERE——GROUP BY——SUM、COUNT——HAVING——SELECT——DISTINCT——ORDER BY——LIMIT 与写SQL的顺序不同,SQL的执行顺序并...

一字见心
4分钟前
2
0
x001-版本介绍

python版本介绍 目前有2 和 3 有很多企业用的代码是2版本,随着技术的发展,以后用3的会成为大趋势 python3的安装 yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-d...

侠客行之石头
6分钟前
3
0
聊聊rocketmq的TransientStorePool

序 本文主要研究一下rocketmq的TransientStorePool TransientStorePool rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java publi......

go4it
昨天
6
0
笔记

场外借贷, 质押 ,托管, 永续合约. 场外借贷,n签合同. 新功能 证券交易组负责中信证券机构及个人投资交易相关系统,服务机构及个人投资客户, 涉及到两融、期权、 期货、做市等境内境外创新业...

MtrS
昨天
6
0
Pycharm最新激活码2019----亲测可用

今天来讲解下pycharm的激活码使用 其实非常简单 把激活码填入下面的地方即可。如果不知道在哪里,那么就选菜单栏里的help再选Register就会弹出下面的界面 激活码网址里面有 lookdiv.com 里面...

chenhongjiang
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部