泡一杯茶,学一学同异步
2019-08-16 09:19:01来源:博客园 阅读 ()
泡一杯茶,学一学同异步
Java 多线程系列文章第 2 篇
接下来几篇会给大家屡清楚多线程中涉及到的一些概念,理解了这些概念,往后的文章才好明白。
今天给大家讲讲同步和异步这兄弟俩。
同步 & 异步
通过咱们现实中的一个场景来描述这 2 个干巴巴的词。大家身边不知道有木有朋友是潮汕的?潮汕地区每家每户都有功夫茶,只要来客人,一定会用功夫茶来招待。功夫茶关键在于功夫两字,功夫指的是泡茶方式比较讲究,它不像咱上班时用保温瓶泡茶,而是有一道泡茶的流程和工具。下面在网上找到的功夫茶口诀(作为潮汕人这么久,都不知道有这口诀,是听我女朋友说有这个口诀才知道。。。)
潮汕功夫茶冲泡口诀:
- 白鹤沐浴(洗杯):用开水洗净茶杯并提高茶具温度。
- 观音入宫(落茶):把铁观音茶放入茶具,放茶量约占茶具容量的五分。
- 悬壶高冲(冲茶):把滚开的水提高冲入茶壶或盖瓯,使茶叶转动。
- 春风拂面(刮泡沫):用壶盖或瓯盖轻轻刮去漂浮的白泡沫,使其清新洁净。
- 关公巡城(倒茶):把泡一、二分钟后的茶水依次巡回注入并列的茶杯里。
- 韩信点兵(点茶):茶水倒到少许时要一点一点均匀地滴到各杯中,使其浓淡均匀。
- 鉴尝汤色(看茶):观赏杯中茶水的颜色,闻茶之香气。
- 品啜甘霖(喝茶):乘热细缀,先嗅其香,后尝其味,边啜边嗅,浅斟细饮。饮量虽不多,但能齿颊留香,喉底回甘,心旷神怡,别有情趣。
有客人来的时候,我们会先煮水,没等到水煮沸就先洗茶杯,落茶,等到水煮沸了,再冲茶,倒茶。这个过程中,有些步骤是同步的,比如洗茶杯和落茶,肯定要把茶杯先洗干净后再落茶,一个人没法同时干这 2 件事,我们关注点放在煮水这个过程,是先煮水,煮水需要比较长的时间,煮水的过程中把茶杯洗了,还有落茶,这个过程其实就是异步,异步指没有干等待水煮沸,在煮水的过程做其他事情(洗茶杯、落茶),这就像是发送了一个消息,通知说要煮水,然后就继续自己该干嘛干嘛,异步的过程完全不影响当前做的其他事。下图反映了煮水步骤是异步的这个过程。
如果主人用下面方式来泡茶,不是新手就是不欢迎你(开玩笑,有可能是主人一见如故,想趁着煮水和你唠家常)。上面讲了异步泡茶的方式,下面讲同步泡茶是啥回事。看下图,把煮水这个过程放在了时间线下方,也就是在煮水的时候干等着水煮沸,不做其他的事情,这就是同步,很明显,最后整个泡茶的过程耗时比异步的长。
总结
这里在简单总结一下(如有错误请大家帮忙纠正):
同步(Synchronous):特指在同一个线程里面执行的内容之间的关系是有顺序的;线程之间需要同步时,就需要使用一些显式的同步方式,这也是多线程带来的大问题,在多线程编程需要特别关注。
异步(Asynchronous):特指一些执行内容可以不用直接等待运行结果,异步执行的内容一般是在另一个线程运行,只需要运行完结果反馈回来就行。
推荐阅读
进程知多少?
设计模式看了又忘,忘了又看?
公众号后台回复『设计模式』可以获取《一故事一设计模式》电子书
觉得文章有用帮忙转发&点赞,多谢朋友们!
原文链接:https://www.cnblogs.com/liebrother/p/11094896.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:笔记:类加载器
- 架构设计 | 异步处理流程,多种实现模式详解 2020-06-04
- 厉害了,Servlet3的异步处理机制 2020-04-29
- 大部分程序员还不知道的 Servelt3 异步请求,原来这么简单? 2020-04-06
- 异步编程RxJava-介绍 2020-03-20
- Spring Boot 异步请求和异步调用 2020-03-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash