前言 开发中引入了异步和多线程的来提高程序性能,也就意味着线程安全成为了多线程的一个障碍,因此线程锁应运而生,而锁如果用不好,还会造成死锁的风险 下面就介绍ios中常用的几种...
IP属地:湖南
前言 开发中引入了异步和多线程的来提高程序性能,也就意味着线程安全成为了多线程的一个障碍,因此线程锁应运而生,而锁如果用不好,还会造成死锁的风险 下面就介绍ios中常用的几种...
base64加密 base64 编码是现代密码学的基础 基本原理: 原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = ...
iOS设备的分辨率和尺寸 (参考The Ultimate Guide To iPhone Resolutions[https://www.paintcodeapp.com/n...
一、测试背景概述 随着移动互联网时代的发展,移动终端的自动化测试日益活跃,总体来看在Android平台上的自动化工具和实践比较多,IOS的UI自动化测试由于系统封闭的原因,一...
前言 开发中引入了异步和多线程的来提高程序性能,也就意味着线程安全成为了多线程的一个障碍,因此线程锁应运而生,而锁如果用不好,还会造成死锁的风险 下面就介绍ios中常用的几种...
单例 说起单例,我们一般使用GCD的dispath_once来创建单例 对于单例,需要知道以下两个问题: 1.单例为什么只执行一次,底层是如何控制的 2.单例的block是在...
异步函数 先看下dispatch_async的底层实现 上图我们发现有两个主要方法: 1._dispatch_continuation_init这个方法上篇最后讲了用处:就是...
GCD简介 GCD全称:Grand Central Dispatch GCD是纯C语言,提供了非常多的强大函数 GCD是非常高效的多线程开发方式,它并不是Cocoa框架的一部...
线程与进程 线程 1.线程是进程的基本执⾏单元,⼀个进程的所有任务都在线程中执⾏ 2.进程要想执⾏任务,必须得有线程,进程⾄少要有⼀条线程 3.程序启动会默认开启⼀条线程,这...