Java线程:线程状态的转换一、线程状态1、新状态:线程对象已经创建,还没有在其上调用start()方法。2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到...
分类:
编程语言 时间:
2015-08-20 10:26:36
阅读次数:
236
runloop作用
使程序一直运行并接收用户的输入
决定程序在何时处理哪些事件
调用解耦(Message Queue)
节省CPU时间(当程序启动后,什么都没有执行的话,就不用让CPU来消耗资源来执行,直接进入睡眠状态)
模式
RunLoop 在同一段时间只能且必须在一种特定的模式下运行
如果要更换 Mode,必须先停止当前的 Loop,然后再重新启动 Loop
Mode 是保证滚动流畅的关键
NS...
分类:
其他好文 时间:
2015-08-16 02:10:09
阅读次数:
179
linux将创建内核线程的工作交给了一个专门的内核线程kthreadd来完成,该线程会检查全局链表kthread_create_list,如果为NULL,就会调schedule()放弃cpu进入睡眠状态,否则就取下该链表中的一项创建对应的线程。本...
分类:
编程语言 时间:
2015-07-23 16:02:56
阅读次数:
271
现在明确一下阻塞(Block)这个概念。当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,或者调用sleep指定的睡眠时间到了)它才有可能继续运行。与睡眠状态相对的是运行(Running)状态,在Linu...
分类:
系统相关 时间:
2015-07-07 19:03:52
阅读次数:
208
方式1:命令行下以管理员方式运行:powercfg -h off
方式2:右键个性化-->屏幕保护程序-->更改电源设置--->更改计算机睡眠时间--->是计算机进入睡眠状态选择从不...
以下内容仅表示自己的学习笔记,对其中一些知识的见解,防止遗忘,不喜勿喷。错误之处,欢迎发邮箱指导:738254743@qq.com阻塞:没有获得资源则进程挂起,直到获取资源为止。挂起进程进入睡眠状态,给调度的等待队列移走,直到等待条件满足。非阻塞:操作设备部不挂起,或放弃..
分类:
系统相关 时间:
2015-06-20 01:36:17
阅读次数:
214
1、内核数据结构(taskstructure)包含了:PIDPPID进程上一次的运行状态相关数据名称等信息堆:动态增加的内存,可以简称为堆stack:栈,用于存储本地变量MMU:内存管理单元(CPU中的设备)进程切换:也叫上下文切换(进程包含的信息进程号内存空间用户父进程CPUtimeVSZ:虚拟内集..
分类:
系统相关 时间:
2015-05-07 17:00:19
阅读次数:
162
RPC采用客户机/服务器模式。 请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端, 进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用...
分类:
其他好文 时间:
2015-05-03 13:16:50
阅读次数:
108
对于select和poll,其主要原理跟epoll不同poll和select的共同点就是,对全部指定设备(fd)都做一次poll,当然这往往都是还没有就绪的,那就会通过回调函数把当前进程注册到设备的等待队列,如果所有设备返回的掩码都没有显示任何的事件触发,就去回调函数的函数指针,进入有限时的睡眠状态...
分类:
其他好文 时间:
2015-04-19 22:43:02
阅读次数:
138
Nginx进程模型分为两大类:监控进程(主进程)、工作进程(子进程);
多进程模型入口函数:ngx_master_process_cycle();主要任务:设置信号处理,然后调用ngx_start_worker_process()生成子进程,这时,主进程主要循环监听信号,而子进程主要循环监听连接。
主进程:在没有收到信号时,用suspend()进入睡眠状态,当有信号到达时,调用相应的信...
分类:
系统相关 时间:
2015-04-18 14:38:35
阅读次数:
264