![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS 那些事儿
文章平均质量分 89
Wu_Candy
这个作者很懒,什么都没留下…
展开
-
多线程之读写锁原理
今天主要通过多读单写的例子来说下读写锁的原理 概念 多读单写,简单说,就是对资源的访问分为两种状态,一种是读操作,另一种是写操作。由应用程序提示锁应该做哪种操作。当为读模式时,所有的写动作被悬挂,而读请求被允许通过,而写动作时,所有操作被悬挂。并且,读写切换时,有足够的状态等待,直到真正安全时,才会切换动作。 如下图所示: 业务场景举例 比如现在有 A、B、C、D、E、F、G 6个线程,其中A、B、C、G 4个线程之行读请求,E、F 2个线程之行写请求,如何保证读写安全? 分析: ..原创 2021-03-29 16:53:12 · 538 阅读 · 3 评论 -
浅谈多线程
多线程 今天主要想讲的是线程安全问题,为什么多线程情况下会出现线程不安全问题? 什么是多线程? 可以简单的理解为:即就是一个程序中有多个线程在同时执行。 举例:我们使用QQ音乐同时下载多首音乐时,QQ音乐程序会创建多个线程来下载音乐。 并行 我们先说下串行。关于串行这个很好理解。假设在单线程情况下,我们使用QQ音乐来串行的下载5首音乐的话,那下载顺序和进度就是A下载完成了然后下载B,顺序就是A-B-C-D-E。 那么我们来谈下并行,在多条线程的情况下,QQ音乐程序是怎么完成音乐的下..原创 2021-03-29 16:44:58 · 85 阅读 · 0 评论 -
关于动态规划(Dynamic Programming)
Dynamic Programmingis a method for solving a complex problem by breaking it down into a collection of simpler subproblems, solving each of those subproblems just once, and storing their solutions. 将复杂的原问题拆解成若干个简单的子问题 每个子问题仅仅解决1次,并保存它们的解 最后...原创 2021-03-29 16:30:57 · 210 阅读 · 0 评论 -
关于图片,我有话说
1.分辨率和像素的关系 分辨率:分辨率是指单位长度内像素点的数量,它的单位通常为【像素/英寸(ppi)】, 例如:72ppi表示1英寸包含72个像素点,300ppi表示每英寸含300个像素点。分辨率决定了位图细节的精细程度,通常情况下,分辨率越高包含的像素就越高,图像就越清晰。 像素:是指在由一个数字序列表示的图像中的一个最小单位,称为像素。像素仅仅只是分辨率的尺寸单位,而不是画质。 例子:像素和分辨率组合方式决定了图像数据量。 例如1x1英寸的两个图像,分辨率为72ppi的.原创 2021-02-05 16:23:25 · 249 阅读 · 0 评论 -
苹果有了CALayer,为什么还要UIView?
这篇文章非常生动的解释了一个原则:SRP单一自责原则。SRP是SOLID五大设计原则中最容易被误解的一个。也许是名字的原因,很多程序员根据SRP这个名字想当然地认为这个原则就是指:每个模块都应该只做一件事。我们在将大型函数重构成小函数时经常会用到这个原则,但这只是一个面向底层实现细节的设计原则,并不是SRP的全部。 正文:你给我解释清楚,都有了CALayer了,为什么还要UIView? UIView继承自UIResponder,主要特点是可以响应触摸事件。而CALayer实际是图层内容管理...原创 2021-01-30 15:03:15 · 169 阅读 · 2 评论