摘要:
AppleScript 后缀名scpt 阅读全文
摘要:
protobuf中的整数,如int32、int64、uint32、uint64、sint32、sint64、bool和enum,采用可变长编码,即varints。 这样做的好处是,可以节省空间。根据整数大小来决定使用多少字节。 下面通过一个具体例子来阐述它的实现原理: 300的二进制表示是10010 阅读全文
摘要:
读写锁 阅读全文
摘要:
生产者消费者模式实现 阅读全文
摘要:
一、什么是Runloop?为什么需要Runloop? Runloop,顾名思义,即运行循环。 没有Runloop的情况下,一个线程执行完一个任务,就会退出并销毁。等到需要处理下一个任务时,再重新创建一个线程。 1、当任务小而多时,频繁地创建和销毁线程,会带来不小的代价。 2、主线程要是退出了,整个i 阅读全文
摘要:
atoi 阅读全文
摘要:
一、block是什么? block是带有自动变量(局部变量)的匿名函数。它是C语言的扩展功能,C语言标准并不支持block。 block是Objective-C的闭包实现,正如C++中的Lambda表达式。闭包简单理解即函数中的函数,闭包在JavaScript中是一个很重要的概念。作为“函数中的函数 阅读全文
摘要:
GCD(Grand Central Dispatch),主要用于多线程编程。它屏蔽了繁琐的线程实现及管理细节,将其交由系统处理。开发者只需要定义任务block(在底层被封装成dispatch_continuation_t结构体),并提交到正确的dispatch queue中。GCD包含dispatc 阅读全文
摘要:
执行外部命令 阅读全文