写这篇的缘由
一直以来一直在说异步,并发,多线程,协程等,觉得很高大上,虽然也看过一些文章但是还是并没有真正的理解,并不敏感。可能是自己比较菜,没有开发中去碰触到这些东西了。以前一直觉理我很遥远,现在项目需要我不得不面对。是时候不能回避了,知耻而后勇开干吧。
我的困惑
这 几个词语是不是有一定的关联性,异步的话就要走多个线程,并发是不是每个链接都是一个线程,协程是不是多线程的一个升级版本。异步是不是同时可以干几件事情,多线程是不是也是这样,是不是都是提高效率呢?
下面先来看一些概念和我的理解
概念学习
异步
异步,同步,阻塞,非阻塞 等概念 区别
- 同步阻塞
- 同步不阻塞
- 异步阻塞
- 异步不阻塞
异步是不是都是调用cpu的内核的什么协议呢?
- 同步和异步 关注的是消息通信机制
简单说就是: - 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时候的状态
简单说就是
同步
就是发出一个调用时候,在没有得到结果之前,这个调用就不返回,但是调用返回,就有返回值了
说人话
你去书店买书,同步通信机制,老板会说“我查一下”(可能1秒可能一天) 然后一直在那里查等查好了告诉你结果(直接返回你结果,是查号了返回给你结果)