【微信小程序】介绍文档 2
区别 小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性 网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应 小程序中,二者是分开的,分别运行在不同的线程中 网页开发者可以使用到各种浏览器暴露出来的 ...
区别 小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性 网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应 小程序中,二者是分开的,分别运行在不同的线程中 网页开发者可以使用到各种浏览器暴露出来的 ...
发消息 概述 oc里面的发消息,实际上就是在调用那个对象的一个方法。 但是,这种方式与其他语言中的“函数调用”或“方法调用”有所不同。 Objective-C 使用了一个叫做“消息传递”(message passing)的机制。 实例: 在 Objective-C 中,这种语法 ...
可变不可变基础对象 在Objective-C中,有很多基础对象都有可变和不可变两种版本: 不可变: NSString: 代表不可变的文本字符串。 NSArray: 代表不可变的对象数组。 NSDictionary: 代表不可变的键值对集合。 NSData: 代表不可变的字节缓冲区...
自旋锁 用ATOMIC_FLAG_INIT进行了flag的初始化 它确保了flag的初始状态是清除(或说“未设置”)状态 lock调用了test_and_set方法来试图获取锁 test_and_set会检查flag的当前值:如果flag是清除状态,则设置它并返回false;如果...
背景 管理器用于管理多个任务 接入了管理器的模块,会根据自己要做的事情,来生成不同的任务 而这些任务的生成,是由接入了管理器的模块,通过一些重要的数据(比如目标数据包的编号,以及目标所在的位置,要求管理器执行的任务类型),来让管理器生成的不同的任务,并添加到任务队列中 目前的设计...
Windows 安装 为了确定安装目标,在安装前后调用了get_reg_items get_reg_items 上买的Windows实现是通过枚举注册表 把几个目标路径的注册表存到一起 然后根据安装前后这些路径下的注册表的项数,来找出新增的那个 通过比较,确定新增项,然后记录下新...
概述 zlib库是一个广泛使用的压缩/解压缩库 下面实现是用了zlib 1.3版本的代码和相关库 具体是使用了zlib源码中带的minizip 其中的minizip扩展提供了处理ZIP文件的功能 解压 在解压之前可能需要处理其他的很多工作,比如验证目录,验证目标文件是否存在等。这...
线程池 创建线程池方法一 调用async_factory_impl::create创建线程池 但是这个函数实际作用是用于创建一个记录器 由于需要一个线程池对象参数,所以在创建记录器之前做了个检查,如果还不存在线程池,就先创建线程池,再构造记录器 这里使用递归锁的原因可能是为了使代...
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
平台相关 select 支持:windows 支持:linux,macos,bsd,aix等 poll 支持:linux,macos,bsd等 不支持:一些交旧的或特定的unix操作系统可能不支持poll 不支持:windows不提供标准的poll,但可以通过其他相似的api来达...