写点什么

异步编程

0 人感兴趣 · 82 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/14/14fd7d984bc588e8854cab00ed3c9ff9.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

rt 下降 40%?程序并行优化六步法 | 京东云技术团队

并行优化在改善程序接口响应时间和吞吐量指标方面是个利器,所以本次结合前段时间做的一段长链路执行逻辑代码的优化,给大家讲讲程序并行优化的步骤及方法论。

https://static001.geekbang.org/infoq/47/476dbadb37abc79ba42a21d962cd4c12.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

《深入理解高并发编程:JDK 核心技术》- 冰河新书上市

用户头像
冰河
03-17

《深入理解高并发编程》系列第2册—《深入理解高并发编程:JDK核心技术》来了,结合《深入理解高并发编程:核心原理与案例实战》一书,深入理解并发编程的核心原理、案例实战和系统架构,再熟悉或精通JDK中提供的各种并发编程类库和线程池

https://static001.geekbang.org/infoq/53/538773dc09b934860166f2d70707284d.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

JavaScript 异步编程的深入理解,使用回调函数实现异步编程

异步编程是指在程序运行时,任务不会按照函数调用的顺序依次执行,而是可以同时执行多个任务。JavaScript异步编程有很多种方式,例如使用回调函数、Promise、async/await等。

https://static001.geekbang.org/infoq/78/786abca16db4a18165a52cf0225b0afc.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

看不见的控制流 — Rust 异步取消问题的几点思考

本文讨论了一个在开发 GreptimeDB 过程中因为异步取消引起的经典异步问题,以及我们的解法和一些思考。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】深度解析 ScheduledThreadPoolExecutor 类的源代码

用户头像
冰河
2022-10-24

在【高并发专题】的专栏中,我们深度分析了ThreadPoolExecutor类的源代码,而ScheduledThreadPoolExecutor类是ThreadPoolExecutor类的子类。今天我们就来一起手撕ScheduledThreadPoolExecutor类的源代码。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】ScheduledThreadPoolExecutor 与 Timer 的区别和简单示例

用户头像
冰河
2022-10-12

JDK 1.5开始提供ScheduledThreadPoolExecutor类,ScheduledThreadPoolExecutor类继承ThreadPoolExecutor类重用线程池实现了任务的周期性调度功能。在JDK 1.5之前,实现任务的周期性调度主要使用的是Timer类和TimerTask类。本文,就简单介绍下ScheduledThread

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】亿级流量场景下如何为 HTTP 接口限流?看完我懂了!!

用户头像
冰河
2022-08-30

在互联网应用中,高并发系统会面临一个重大的挑战,那就是大量流高并发访问,比如:天猫的双十一、京东618、秒杀、抢购促销等,这些都是典型的大流量高并发场景。

https://static001.geekbang.org/infoq/75/75b5ecb30bdac62785e961aa23407857.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

将使用回调函数作为参数的函数改造为返回 Promise 的一个具体例子

用户头像
Jerry Wang
2022-08-17

我开发了一个函数 loadScript,可以动态加载指定的本地 JavaScript 文件。源代码如下:

https://static001.geekbang.org/infoq/a4/a451523fe958aa69ab1336827c57817d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

JavaScript Promise 的使用技巧

用户头像
Jerry Wang
2022-08-12

“生产代码”是可能需要一些时间来执行的代码。

https://static001.geekbang.org/infoq/2f/2f6f24947586db478b8fa71fa3bd179e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】别闹了,要实现亿级流量下的分布式限流,这些算法你必须掌握!!

用户头像
冰河
2022-08-08

在互联网应用中,高并发系统会面临一个重大的挑战,那就是大量流高并发访问,比如:天猫的双十一、京东618、秒杀、抢购促销等,这些都是典型的大流量高并发场景。

https://static001.geekbang.org/infoq/2f/2f6f24947586db478b8fa71fa3bd179e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】如何实现亿级流量下的分布式限流?这些理论你必须掌握!!

用户头像
冰河
2022-07-25

短时间内巨大的访问流量,我们如何让系统在处理高并发的同时还能保证自身系统的稳定性?有人会说,增加机器就可以了,因为我的系统是分布式的,所以可以只需要增加机器就可以解决问题了。但是,如果你通过增加机器还是不能解决这个问题怎么办呢?

https://static001.geekbang.org/infoq/2f/2f6f24947586db478b8fa71fa3bd179e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

多年亿级流量下的高并发经验总结,我毫无保留的写在了这本书中

用户头像
冰河
2022-06-17

多年亿级流量下的高并发经验总结,多年6.18和双11大促的高并发系统沉淀与经验总结,我都写到了这本书中。获得了咱们CSDN创始人,总裁,副总裁的联合推荐

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】高并发环境下构建缓存服务需要注意哪些问题?

用户头像
冰河
2022-06-14

周末,跟阿里的一个朋友(去年晋升为P9了)聊了很久,聊的内容几乎全是技术,当然了,两个技术男聊得最多的话题当然就是技术了。从基础到架构,从算法到AI,无所不谈。中间又穿插着不少天马行空的想象。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】关于线程池,蚂蚁金服面试官问了我这些内容!!

用户头像
冰河
2022-06-11

最近,一名读者去蚂蚁金服面试,面试官问了他关于乐观锁和悲观锁的问题,幸亏他看了我的【高并发专题】文章,结果是替这名读者高兴!现就部分面试题目总结成文,供小伙伴们参考。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】关于乐观锁和悲观锁,蚂蚁金服面试官问了我这几个问题!!

用户头像
冰河
2022-06-10

最近,一名读者去蚂蚁金服面试,面试官问了他关于乐观锁和悲观锁的问题,幸亏他看了我的【高并发专题】文章,结果是替这名读者高兴!现就部分面试题目总结成文,供小伙伴们参考。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】彻底理解 Nginx 限流机制与实战

用户头像
冰河
2022-06-09

有不少读者说看了我的文章后,学到了很多知识,其实我本人听到后是非常开心的,自己写的东西能够为大家带来帮助,确实是一件值得高兴的事情。最近,也有不少小伙伴,看了我的文章后,顺利拿到了大厂Offer,也有不少小伙伴一直在刷我的文章,提升自己的内功

https://static001.geekbang.org/infoq/49/49d8d3d404320f117841252520372b8d.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】线程的生命周期其实没有我们想象的那么简单!!

用户头像
冰河
2022-06-08

今天,我们就结合操作系统线程和编程语言线程再次深入探讨线程的生命周期问题,线程的生命周期其实没有我们想象的那么简单!理解线程的生命周期本质上理解了生命周期中各个节点的状态转换机制就可以了。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】又一个朋友面试栽在了 Thread 类的 stop() 方法和 interrupt() 方法上!

用户头像
冰河
2022-06-07

新一轮的面试已经过去,可能是疫情的原因吧,很多童鞋纷纷留言说今年的面试题难度又提高了,尤其是对并发编程的知识。我细想了下,也许有那么点疫情的原因吧,但无论面试的套路怎么变,只要掌握了核心知识和底层原理,应该都能轻松面对吧。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】高并发分布式锁架构解密,不是所有的锁都是分布式锁!!

用户头像
冰河
2022-06-06

最近,很多小伙伴留言说,在学习高并发编程时,不太明白分布式锁是用来解决什么问题的,还有不少小伙伴甚至连分布式锁是什么都不太明白。明明在生产环境上使用了自己开发的分布式锁,为什么还会出现问题呢?同样的程序,加上分布式锁后,性能差了几个数量级!

https://static001.geekbang.org/infoq/49/49d8d3d404320f117841252520372b8d.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】高并发环境下如何防止 Tomcat 内存溢出?看完我懂了!!

用户头像
冰河
2022-06-04

随着系统并发量越来越高,Tomcat所占用的内存就会越来越大,如果对Tomcat的内存管理不当,则可能会引发Tomcat内存溢出的问题,那么,如何防止Tomcat内存溢出呢?我们今天就来一起探讨下这个问题。

【高并发】高并发环境下如何优化 Tomcat 性能?看完我懂了!

用户头像
冰河
2022-06-03

Tomcat作为最常用的Java Web服务器,随着并发量越来越高,Tomcat的性能会急剧下降,那有没有什么方法来优化Tomcat在高并发环境下的性能呢?

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】在高并发环境下该如何构建应用级缓存?

用户头像
冰河
2022-06-02

随着我们的系统负载越来越高,系统的性能就会有所下降,此时,我们可以很自然地想到使用缓存来解决数据读写性能低下的问题。但是,立志成为资深架构师的你,是否能够在高并发环境下合理并且高效的构建应用级缓存呢?

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】你知道吗?大家都在使用 Redisson 实现分布式锁了!!

用户头像
冰河
2022-06-01

Redisson框架十分强大,基于Redisson框架可以实现几乎你能想到的所有类型的分布式锁。这里,我就列举几个类型的分布式锁,并各自给出一个示例程序来加深大家的理解。有关分布式锁的原理细节,后续专门撸一篇文章咱们慢慢聊!

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】优化加锁方式时竟然死锁了!!

用户头像
冰河
2022-05-26

今天,在优化程序的加锁方式时,竟然出现了死锁!!到底是为什么呢?!经过仔细的分析之后,终于找到了原因。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】什么是 ForkJoin?看这一篇就够了!

用户头像
冰河
2022-05-20

在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据。有点像Hadoop中的MapReduce。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】高并发环境下诡异的加锁问题(你加的锁未必安全)

用户头像
冰河
2022-05-13

并发编程中,不能使用多把锁保护同一个资源,因为这样达不到线程互斥的效果,存在线程安全的问题。相反,可以使用同一把锁保护多个资源。那么,如何使用同一把锁保护多个资源呢?又如何判断我们对程序加的锁到底是不是安全的呢?我们就一起来深入探讨这些问题

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】ThreadLocal 学会了这些,你也能和面试官扯皮了!

用户头像
冰河
2022-05-07

对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【高并发】如何使用互斥锁解决多线程的原子性问题?这次终于明白了!

用户头像
冰河
2022-04-28

如何解决线程切换带来的原子性问题呢?答案是 保证多线程之间的互斥性。也就是说,在同一时刻只有一个线程在执行! 如果我们能够保证对共享变量的修改是互斥的,那么,无论是单核CPU还是多核CPU,都能保证多线程之间的原子性了。

异步编程_异步编程技术文章_InfoQ写作社区