叮咚 | 同步异步阻塞非阻塞
低并发编程
共 4207字,需浏览 9分钟
· 2021-08-13
public static void main() {
int result = doSomeThing();
}
public static void main() {
new Thread(() -> {
int result = doSomeThing();
})
}
public void int read(byte[] buffer) {
while(磁盘未就绪) {
将当前线程挂起并让出 CPU;
}
// 此时磁盘已就绪
真正去读数据到 buffer 中
return 读到的字节数;
}
public void int read(byte[] buffer) {
if(磁盘未就绪) {
// 立刻返回
return -1;
}
真正去读数据到 buffer 中
return 读到的字节数;
}
第一,分不清语境
这个函数是阻塞的。
这是个阻塞函数。
这个方法调用的过程中因为有 IO 事件被阻塞了。
这个函数阻塞了主线程。
第二,分不清层级
// 这是个非阻塞的函数
public void int read(byte[] buffer) {
if(磁盘未就绪) {
// 立刻返回
return -1;
}
真正去读数据到 buffer 中
return 读到的字节数;
}
// 包一层,变成阻塞的
public void int read2(byte[] buffer) {
int result;
while((result = read(buffer)) == -1) {
将线程挂起并让出 CPU 资源
}
// 此时已读到数据
return result;
}
第三,随意一点嘛
评论
马上要结婚了,这次又因为买房吵起来了,目前手里有80万,想买长沙全款就能搞定,女朋友非要让我贷款50万去成都买,怎么办才好?
婚姻是一座围城,城外的人想进去,城里的人想出来。这是钱锺书在1947年发表的经典名句,穿越时代历久弥新。有人说恋爱时的核心利益是欣赏,是情感交换,彼此凭感觉就够了,互相让双方开心就可以。而婚姻时的核心利益是成全,是价值交换,一旦结婚,就看双方能否长期为彼此提供“价值”。有位马上要结婚的小哥,如今即将
TTTEED
3
华为蓝军严厉批判任正非的“10宗罪”
华为蓝军”,是华为内部最为神秘的部门,十多年前就成立,直接从属于华为最为核心的职能平台“战略与Marketing部”。其他部门是做正常的公司业务,称为红军。蓝军设立的作用只有一个,就是站在客户、竞争对手的立场,审...
肉眼品世界
0
【回顾】一款基于 Go 语言的高性能、轻量级、非阻塞、I/O 事件驱动网络框架
关注 "GitHub精选",设为 "星标"探索有意思的开源项目大家好,又见面了,我是 GitHub 精选君!背景介绍在进行 Go 语言的 TCP 网络编程时,我们通常使用标准库(go net),但是标准库的协程压力较大,因此我们需要一...
开源你我他
0
一套万能通用的异步处理方案
(给 Java金融 加星标,提高Java技能) 1 前言 良好的系统设计必须要做到开闭原则,随着业务的不断迭代更新,核心代码也会被不断改动,出错的概率也会大大增加。但是大部分增加的功能都是在扩展原有的功能,既要保证...
java金融
0
搞定异步编程,我有八种实现方式!
大家好,我是小富~ 一、前言 异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:发送短信、邮件、异步更新等,这些都是典型的...
程序员内点事
0
2023年小程序云开发cms内容管理无法使用,无法同步内容模型到云开...
一,问题描述 最近越来越多的同学找石头哥,说cms用不了,其实是小程序官方最近又搞大动作了,偷偷的升级的云开发cms(内容管理)以下都称cms,不升级不要紧,这一升级,就导致我们没有办法正常使用cms了。如果你是...
编程小石头
0