我们从GCD函数和队列的内容中最后的经典案例中关于死锁的案例开始,从死锁的发生开始,看看其产生的本质原因是为什么。
设整数a,b,n(n ≠0),如果a-b是n的整数倍,则a≡b(mod n),即a同余于b模n。也可理解为a/n的余数等于b/n的余数。 (mod n)运算将所有的整数(无论小于n还是大于n),都映射到{0,1,…,n-1}组成的集合。 模算术的性质: (a mod n) + (b...
大多数情况下,对象在新生代的eden区中分配,当eden区没有足够的空间进行分配时,虚拟机将进行一次Minor GC。
每一种收集器的日志形式都是由他们自身的实现决定的,也就是说每个收集器的日志格式都可能不一样。
这次的文章会根据实战来介绍如何看JVM的日志,看JVM日志说难也难,说容易也容易,更多的是需要时间去不断的尝试进行总结。
系统内核在收发事件、消息时使用的消息传递函数。可以理解为多进程之间的一种通讯调用机制。
在上篇OC底层探索22-GCD(上)中分析了GCD的串/并队列的创建,同步、异步函数执行,而且留下了:死锁、栅栏函数的坑会在本文中补上;
在项目中增加一个符号断点:dispatch_queue_create;(还可以是其他的GCD-API即可);
总体来说涉及到串行队列的嵌套就容易出现死锁,使用时一定要注意;串行队列里添加同步任务队列必定会出现死锁;
我们可以通过从头查询一段超过一半的 2 的幂次的信息和从结尾开始的查询一段超过一半的 2 的幂次的信息,并且合并这两部分信息。