TypeScript 异步中的内存管理

本文探讨了TypeScript中异步编程的重要性,解释了单线程环境下异步处理的必要性,以及在异步过程中如何进行内存管理。重点讨论了引用计数和标记清扫两种内存回收机制,并指出正确编程习惯可避免内存泄漏问题。
摘要由CSDN通过智能技术生成

本篇文章主要谈一下我对于 TS 中异步编程的理解:

为什么要用异步?

基础概念

线程

在讲异步之前,需要了解的是:TypeScript 是单线程

异步

打个比方:你现在是开发人员,要做产品提的一个新需求 A,你在仔细思考后跟产品提出需要一些配置来完成 A,然后产品就去搞。那么在产品搞配置的过程中,身为开发不能总待着,需要找点别的事 B 做,等产品把配置给你,你决定先做完 B 再去做 A。

这个例子中,开发在需求没到的时候去做别的事情,就是一种异步的方式。

为什么用

由于 TS 是单线程,这就代表着所有的逻辑都是排队执行的,当一个逻辑执行的时候,其余的逻辑需要等待其执行完;如果当前逻辑是一个计算操作,比如数组排序,其实还好,但如果是一个 IO 操作,比如从 mysql 中查询业务数据呢?这种情况下,如果线程就阻塞着等查询结果返回,无疑是在浪费 CPU 资源,所以异步编程就理所应当了。

异步过程中,TS 中的内存管理

在项目中有各种嵌套的 callback 使用,其中就有一些代码的使用类似如下:

const redisClient
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值