查看“同步与异步、阻塞与非阻塞”的源代码
←
同步与异步、阻塞与非阻塞
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
在 IO 体系中,经常能接触到同步阻塞、异步非阻塞等概念,往往使人疑惑,在多线程环境下,多线程不就是非阻塞的,单线程就是阻塞的吗? 多线程不就是异步,单线程不就是同步吗? 这种普遍的疑惑,事实上是由于概念的不清晰造成的。 多线程、单线程、同步、异步、阻塞、非阻塞,都是独立的概念,只是在多数应用场景下,它们看上去一致,所以造成了概念的混淆。 === 在多线程语境下的概念 === 在多线程语境下,用于描述任务的线程访问执行机制,同步和异步关注的是任务是否可以同时被调用,阻塞和非阻塞则关注的是线程的状态。 # 同步:指代码的同步执行(Synchronous Invoke),一个执行块同一时间只有一个线程可以访问; # 异步:指代码的异步执行(Asynchronous Invoke),多个执行块可以同时被多个线程访问; # 阻塞:线程阻塞状态(Thread Block),表示线程挂起; # 非阻塞:线程不处于阻塞状态,表示线程没有挂起; === 在 IO 语境下的概念 ===
返回至
同步与异步、阻塞与非阻塞
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息