Introduction常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想继续看的话还要去解锁,...
分类:
移动开发 时间:
2015-05-14 13:37:46
阅读次数:
143
notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法void notify(): 唤醒一个正在等待该对象的线程。void notifyAll(): 唤醒所有正在等待该对象的线程。两者的最大区别在于:notifyAll使所有原来在该对象上等待被notify的线...
分类:
编程语言 时间:
2015-05-13 12:24:27
阅读次数:
148
今天要查找如何获取系统从睡眠、休眠状态下唤醒的消息,写了个MFC对话框的程序,贴出部分核心代码:
//唤醒消息捕获
LRESULT CSystemResumedMessageDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
if ((message == WM_POWE...
RpcServer 线程模型
NameNode启动过程:线程模型
Listener 1个:
监听并接受来自客户端的连接.将新建连接放入pendingConnections.
清理空闲连接.
唤醒Reader.
Reader N个 : 从pendingConnections中获取连接,读取数据,从RpcRequest构造Call,并放入callQueue.Handler N 个:
从callQueue...
分类:
编程语言 时间:
2015-05-07 08:49:39
阅读次数:
124
1.如何判断程序是否是在后台运行了/** * 判断当前的应用程序是否在后台运行,使用该程序需要声明权限android.permission.GET_TASKS * @param context Context * @return true表示当前应用程序在后台运行。false为在前台运行 */pub...
分类:
其他好文 时间:
2015-05-05 19:02:48
阅读次数:
127
一、ListenerListener线程,当Server处于运行状态时,其负责监听来自客户端的连接,并使用Select模式处理Accept事件。同时,它开启了一个空闲连接(Idle Connection)处理例程,如果有过期的空闲连接,就关闭。这个例程通过一个计时器来实现。当select操作调用时,它可能会阻塞,这给了其它线程执行的机会。当有accept事件发生,它就会被唤醒以处理全部的事件,处理事...
分类:
其他好文 时间:
2015-05-05 08:52:05
阅读次数:
290
Thread Affinity为什么需要线程的CPU亲和性应用通过多线程的方式执行,多数情况下线程能够被合理的调度。但在某些情况下某个重要的线程被暂停,而时间片被分配给了一个无关重要的线程。当一个线程每次被暂停休眠,然后被唤醒之后,需要重新加载“cache line”(cpu L1/L2 cache)。当线程的工作时间很短暂,需要被频繁的被唤醒,意味着整个流程执行都很慢,有可能比单线程情况下慢2-5...
分类:
编程语言 时间:
2015-05-03 23:47:07
阅读次数:
406
平时做项目,涉及到网络层的都是epoll,前几年发现redis的epoll实现起来非常的精简,好用。因为提供的接口简单,爱并实现的很高效。于是,我就提取出来,直接使用。
今天又打开该文件详细的看看他的实现细节。
首先简单介绍epoll,它是linux内核下的一个高效的处理大批量的文件操作符的一个实现。不仅限于socket fd。
他在超时时间内会唤醒有事件的操作符。其中有两种模式 1、水平触...
分类:
其他好文 时间:
2015-05-02 15:15:00
阅读次数:
367
EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接 EWOULDBLOCK用于非阻塞模式,不需要重新读或者写EINTR指操作被中断唤醒,需要重新读/写在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。从字面.....
分类:
数据库 时间:
2015-04-24 18:19:28
阅读次数:
131
void schedule(void)
105 {
106 int i,next,c;
107 struct task_struct ** p; // 任务结构指针的指针。
108
109 /* check alarm, wake up any interruptible tasks that have got a signal */
/* 检测alarm(进程的报警定时值),唤醒任何...
分类:
系统相关 时间:
2015-04-21 13:06:48
阅读次数:
223