自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路人甲

不用闪躲,为我喜欢的生活而活 不用粉墨,就站在光明的角落

  • 博客(50)
  • 资源 (8)
  • 收藏
  • 关注

原创 变态的libDispatch结构分析-object结构

文件位置:libdispatch/src/object_internal.h1. 不同结构体的类型typeenum { _DISPATCH_CONTINUATION_TYPE = 0x00000, // meta-type for continuations _DISPATCH_QUEUE_TYPE = 0x10000, // meta-type for queues

2014-01-13 17:30:30 2248

原创 Android 线程4件套 MessageQueue Message Looper Handler之MessageQueue

看了前面Looper章节之后,也许还是云里雾里的,但至少了解到Looper中每个Looper干了什么事,其中我们MessageLooper留下了两个问题。主要问题是Looper如何从MessageQueue中去取消息的。那么我们先从MessageQueue如何压入消息开始:MessageQueue是Message的一个收纳处,App通过Handler将Message压入到Message

2014-01-08 15:19:11 867

原创 ThreadLocal

1. 定义ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会

2014-01-07 19:34:22 700

原创 Android 线程4件套 MessageQueue Message Looper Handler之Looper

Android驱动线程消息公四件套:消息载体:Message消息队列:MessageQueue消息循环:Looper消息处理:Handler所以核心都是以Looper为基础的,形象的表示为一个无限循环的环;在它运行期间会一直从MessageQueue中取出Message,然后通过Handler处理掉。在COS中存在多个Looper:第一个Looper:文

2014-01-07 17:49:36 2175 1

转载 epoll_create, epoll_ctl和epoll_wait 讲解

NAME epoll - I/O event notification facilitySYNOPSIS #include DEscrīptION epoll is a variant of poll(2) that can be used either as Edge or Level Triggered interface an

2014-01-06 17:17:12 2873

原创 bionic Condition

然后我们进入源码分析。bionic将条件变量封装成了一个类,也就成为了Condition这也是Bionic的设计理念之一,就是让事情变得真正简单化。 * Condition variables are paired up with mutexes.  Lock the mutex, * call wait(), then either re-wait() if things a

2013-12-30 19:43:57 1162

原创 android bionic mutex分析

1. 先从mutex的构造开始/* * Simple mutex class. The implementation is system-dependent. * * The mutex must be unlocked by the thread that locked it. They are not * recursive, i.e. the same thread can

2013-12-27 18:07:40 2770

转载 Android-- bionic介绍

小组人员移植ntfs-3g碰到lseek越界问题,经过查证其使用了llseek函数导致死机的问题。其实问题很简单:调用处: llseek (int, unsigned long, unsigned long, loff_t*, int);但是在android bionic中将其对应到函数lseek,其函数声明如下:off_t  lseek(int, off_t, int);

2013-12-26 18:03:41 1522

原创 GCD的一些分析-2

将Queue中的api归类为:同步sync:disptach_sync_f异步async;disptach_async_f异步延时asyncDelayed: 暂且叫disptach_cannel取消延时disptach_source_cancel。先看看一张队列调用的关系图:这张图表明了GCD中队列的并发关系,除了globalqueue之外,其他的que

2013-12-12 12:36:58 2945

原创 GCD的一些分析-1

最近看了点libdispatch的源码,关于GCD中几个队列的一些代码分析,拿出来共享一下。之前有人分析过了,GCD提供很多超越传统多线程编程的优势:易用: GCD比之thread跟简单易用。由于GCD基于work unit而非像thread那样基于运算,所以GCD可以控制诸如等待任务结束、监视文件描述符、周期执行代码以及工作挂起等任务。基于block的血统导致它能极为简单得在

2013-12-12 11:46:28 2868

OpenGL 编程指南

OpenGL编程指南 第七版 高清 中文 很吊的书籍

2015-09-08

Python from novice

Beginning.Python.From.Novice.to.Professional,2nd.Edition_chs.zi 很好的书籍

2015-09-07

samba-4.2.3

samba-4.2.3 linux 源码 文件共享必备,目前最新版本

2015-09-07

C++ Templates

C++必备书籍,两本核心之一:Templates和面向对象结构分析

2015-06-18

gcd线程研究

GCD的内部研究,源码可以参看libdispatch

2013-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除