简介 在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题。我们常常会使用一些锁来保证程序的线程安全,保证每次只有一个线程访问这一块资源。...
简介 在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题。我们常常会使用一些锁来保证程序的线程安全,保证每次只有一个线程访问这一块资源。...
单元测试 什么是单元测试 本文中Demo:在这里[https://github.com/shcamaker/TDDDemo/tree/develop] 单元测试(unit t...
介绍 编写 Go 代码不需要像写 C/C++ 那样手动的 malloc和 free内存,因为 malloc 操作由 Go 编译器的逃逸分析机制帮我们加上了,而 free 动作...
介绍 Go 语言较之 C 语言一个很大的优势就是自带 GC 功能,可 GC 并不是没有代价的。写 C 语言的时候,在一个函数内声明的变量,在函数退出后会自动释放掉,因为这些变...
介绍 了解操作系统对内存的管理机制后,现在可以去看下 Go 语言是如何利用底层的这些特性来优化内存的。Go 的内存管理基本上参考 tcmalloc 来实现的,只是细节上根据自...
使用agvtool自动化版本号和编译号 版本和内部版本号码Key分别指定市场和应用程序的内部版本。agvtool是一个命令行工具,它允许你这些数字自动递增到下一个最高号码或特...
前言: 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到...
Function Reactive Programming:函数响应式编程是种编程范式。我们通过不同的构建函数,来创建所需要的数据序列。最后通过适当的方式来响应这个序列。这就...
转自 http://xelz.info/blog/2019/01/11/ios-code-signature-1/,版权归原作者所有 导航 一口气读完,大约需要40-60分钟...