Condition是Locks锁下的还有一种线程通信之间唤醒、堵塞的实现。它以下的await,和signal可以实现Object下的wait,notify和notifyAll的所有功能,除此之外改监视器和已绑定到每一个条件,可以实现多条件的监听。Condition实质是被绑定到一个锁上,腰围特定的L...
分类:
编程语言 时间:
2015-01-27 11:00:40
阅读次数:
264
notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法。
void notify(): 唤醒一个正在等待该对象的线程。
void notifyAll(): 唤醒所有正在等待该对象的线程。
两者的最大区别在于:
notifyAll使所有原来在该对象上等待被notify的线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,他们就会...
分类:
移动开发 时间:
2015-01-26 17:09:17
阅读次数:
206
线程间通信与线程生命的控制
一、线程通信方法
Java是通过Object类的wait、notify、notifyAll这几个方法来实现进程键的通信。由于所有的类都是从Object继承的,因此在任何类中都可以直接使用这些方法。
wait:告诉当前线程放弃监视器并进入睡眠状态,知道其他线程进入同一监视器并调用notify为止;
notify:唤醒同一对象监视器中调用wait的第一个线程...
分类:
编程语言 时间:
2015-01-26 00:06:31
阅读次数:
319
很多单片机都有低功耗模式, STM32 也不例外。在系统或电源复位以后,微控制器处于运行状态。运行状态下的 HCLK 为 CPU 提供时钟,内核执行程序代码。当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
STM32 的低功耗模式有 3 种:
1)睡眠模式...
分类:
其他好文 时间:
2015-01-24 17:24:31
阅读次数:
269
linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)5. ...
分类:
系统相关 时间:
2015-01-21 14:41:44
阅读次数:
264
流行APP风靡一阵后,真正留下来成为用户掌中的明星APP者屈指可数,大多数APP都难逃没落于大众视野的命运。
用户卸载APP的原因,通常有以下几种:71%因为干扰性通知;68%因为注册登录复杂,需要注册登录的APP尤其要注意;48%因为程度不稳定,崩溃和闪退;42%的用户会因为不喜欢界面的设计而卸载APP;29%的用户选择了烦人的广告23%的用户比较注重隐私问题;19%的用户因为APP需要登...
分类:
移动开发 时间:
2015-01-21 11:45:02
阅读次数:
187
由于 Nginx 工作在 master-worker 多进程模式,若所有 worker 进程在同一时间监听同一个端口,当该端口有新的连接事件出现时,每个 worker 进程都会调用函数 ngx_event_accept 试图与新的连接建立通信,即所有 worker 进程都会被唤醒,这就是所谓的“惊群”问题,这样会导致系统性能下降。幸好在 Nginx 采用了 ngx_accept_mutex 同步锁机制,即只有获得该锁的 worker 进程才能去处理新的连接事件,也就在同一时间只能有一个 worker 进程监...
分类:
其他好文 时间:
2015-01-19 21:03:51
阅读次数:
191
class Res {
String name;
String sex;
}
class Input implements Runnable {
private Res r;
public Input(Res r) {
// TODO Auto-generated constructor stub
this.r = r;
}
public void run() {
i...
分类:
编程语言 时间:
2015-01-18 22:49:16
阅读次数:
322
class Res {
String name;
String sex;
}
class Input implements Runnable {
private Res r;
public Input(Res r) {
// TODO Auto-generated constructor stub
this.r = r;
}
public void run() {
i...
分类:
编程语言 时间:
2015-01-18 21:09:50
阅读次数:
265
想问下,在xmpp即时通讯的项目中,我程序如果挂起了,后台有消息过来,我这边的推送不过来,所以我的通知就会收不到消息,当我重新唤醒应用的时候,他才会接收到通知,消息就会推送过来,我在plist哪里设置了他的电话服务,因为那是长连接不会睡眠,可是我上架AppStore的时候就会被拒绝了,说我没实现那个...
分类:
其他好文 时间:
2015-01-16 12:51:49
阅读次数:
107