11 2011 档案
摘要:POSIX同步对象mutex和cond都可以支持跨进程,但是因为缺乏Windows下的命名对象,所以没法靠名字来做到进程间共享。根据POSIX的说法,将mutex或cond创建在共享内存上,就可以做到进程间共享共享同步对象,既而做到进程间同步。那么:1 C++中,有一个placement new,那么可以很方便得在这上面创建一个对象。2 C中?似乎没有placement new,那该如何办?所以,现在问题集中在:1 如何在C代码中,做到将一个mutex/cond创建在共享内存上???请各位给个答案。找了很多资料,都没有明确的办法.......
阅读全文
摘要:一 缘由: 最近因工作问题,需要实现一个简单的线程池,满足以下要求: 1 可伸缩,即一旦发现线程不够用,则可以动态增加线程。(至于缩减线程,这个可能难度比较大,暂时不考虑)。 2 支持超时任务。比如提交一个Task,可以设置5秒后执行,并且可以设置执行一次,还是每隔5秒执行。基本上就是这两个要求。下面讨论下实现上的问题。二 Windows平台1 Windows平台实现一个线程池(不使用完成端口),我最初的想法是: >创建比如20个线程,然后这20个线程都WaitForXXXObject,在一个Event上。 >添加任务的时候,触发这个Event,为了避免惊群现象(例如只有1个任务的
阅读全文
摘要:http://blog.51cto.com/contest2011/1808964感谢一位博友jeffkoo的推荐。呵呵不太热衷于这种比赛,不过还是参加下.....
阅读全文
摘要:终于编译Android 4.0并成功部署到HTC G7了。特发文庆祝一下:1 下载源码: http://source.android.com/source/downloading.html2 将2.3源码中的device/htc copy到4.0对应目录下(4.0似乎没有htc了)3 修改修改修改.....以后发文详述4 choosecombo后,export下面这些东西PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=4.0.1TARGET_PRODUCT=full_passionTARGET_BUILD_VARIANT=engTARGET_BUIL
阅读全文
摘要:昨天有一个博友回复,说他已经完成了android系统在windows上的移植,其中比较难的是binder系统的移植。下面是两个demo网址,我看了后倍有感触。http://v.youku.com/v_show/id_XMzIwMDkxOTQ4.htmlhttp://v.youku.com/v_show/id_XMzIwNzI2NTg4.html这才是真正有技术含量的移植啊!从做android开始,听到的最多的就是移植+merge了。但总感觉都是:1 简单的把人家做好的,放到新的平台上,然后测试,修改。完完全全的改bug。甚至都不需要对系统,程序结构有什么深入的了解。2 做linux驱动更是这样
阅读全文
摘要:前言最近几个月将Linux Kernel的大概研究了一下,下面需要进行深入详细的分析。主要将以S3C2440的一块开发板为硬件实体。大概包括如下内容:1 bootloader分析,以uboot为主,结合具体开发板的情况。我的目标是解释清楚uboot的工作原理(说实话,分析过程中不太想被硬件绑架,但是需要以一个实际的例子来做分析)2 kernel部分,这就很多内容了。打算从kernel启动的流程开始分析。3 除kernel本身外,还有很多的知识,例如ld的输入script分析等,这里会一起介绍。kernel启动流程概要一:内核Image的组成1 ES(Embed System)启动的时候,CPU
阅读全文
摘要:wiz是我目前用的最好的一个知识管理,笔记同步的软件。呵呵。现在发布2.0了,可以将wiz的东西共享到各个博客。确实很方便。哈哈
阅读全文
摘要:随笔之Android平台上的进程调度探讨一由来最近在翻阅MediaProvider的时候,突然想起之前碰到的一个问题,该问题是这样的:一个Pad上有很多媒体文件,然后每次开机后的一段时间内,Home Screen的反应都特别慢,有时候还会报出ANR的错误。从ANR文件/data/anr/traces.txt分析,发现系统打印的cpu占有率中,android.process.media占用非常高。所以怀疑是MediaProvider做文件扫描占用CPU太多资源导致。但是我们实际测试的时候,通过top –m 5查看cpu占有率的时候,发现只要一操作Home,android.process.medi
阅读全文