无分类 块设备持久化命名和多路径 众所周知,我们看到的磁盘通常是/dev/sda,/dev/sdb这样的名称,我们可以通过这些磁盘名称对磁盘进行各种操作,例如挂载,分区和格式化等等。但是,如果你的机器上有不止一个SATA,SCSI或IDE磁盘控制器,那么它们所对应的设备节点将会依随机次序添加。这样就可能导致每次引导时设备的名字如/dev/sda与/dev/sdb互换了,再…
java 学习笔记Java集合16-Queue-LinkedBlockingQueue源码分析 LinkedBlockingQueue是java并发包下一个以单链表实现的阻塞队列,它是线程安全的,至于它是不是有界的,请看下面的分析。
java 学习笔记Java集合15-Queue-ArrayBlockingQueue源码分析 ArrayBlockingQueue是java并发包下一个以数组实现的阻塞队列,它是线程安全的,至于是否需要扩容,请看下面的分析。
无分类 iOS:Block __block修饰符 __block修饰符 上一篇文章中说过,auto类型的局部变量,可以被block捕获,但是不能修改值。 __block可以解决block内部无法修改外部auto变量的问题。 {代码…} 用法就是这么简单,这样我们修改age为20的时候,打…
无分类 iOS:Block 循环引用问题 循环引用是一个比较常见的问题,之前面试的时候也会被问到,如何解决循环引用问题,其实大家都知道使用__block,__weak这些修饰符可以解决循环引用问题,那今天我们要讨论的就是他们是怎么样解决了循环引用问题的。
无分类 iOS:Block的本质 我们项目中经常使用block来进行回调传值,之前我对block的认识也就仅仅的停留在基础的层面,包括简单的使用和一些基本的避免循环引用的方法,这篇博客是我在对block进行了更深一层的学习之后的记录和总结,希望对…
无分类 Golang并发:一招掌握无阻塞通道读写 介绍Golang并发的模型写了几篇了,但一直没有以channel为主题进行介绍,今天就给大家聊一聊channel,channel的基本使用非常简单,想必大家都已了解,所以直接来个进阶点的:介绍channel的阻塞情况,以及给你一个…