一、线程交互的基础知识SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习:void notify() 唤醒在此对象监视器上等待的单个线程。void notifyAll() 唤醒在此对象监视器上等待的所有线程。void wait() 导致当前的线程等待,直到其他线...
分类:
编程语言 时间:
2014-08-10 15:24:20
阅读次数:
342
1.wait和notify,notifyAll:wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中。wait()方法:对此对象调用wait方法导致本线...
分类:
编程语言 时间:
2014-08-10 01:27:39
阅读次数:
643
pthread_cond_wait在把线程放进阻塞队列后,自动对mutex进行解锁(它内部有自己维护一个队列),使得其他线程可以获得加锁的权利。这样其它线程才能对临界资源进行访问并在适当的时候唤醒这个阻塞的进程。当pthread_cond_wait返回的时候又会自动给mutex加锁,所以最后需要一个...
分类:
其他好文 时间:
2014-08-06 18:05:42
阅读次数:
260
“当你不去旅行,不去冒险,不去拼一份奖学金,不过没试过的生活,整天挂着QQ,刷着微博,逛着淘宝,玩着网游。干着我80岁都能做的事,你要青春干嘛?”你是否也曾被这句网传的流行语唤醒了心底那一丝早已沉寂的上进心?锦瑟流年,花开花落,岁月蹉跎匆匆过,而恰如同学少年,在最能学习的时候你选择恋爱,在最能吃苦的...
分类:
其他好文 时间:
2014-08-05 18:24:50
阅读次数:
210
在C程序代码中我们可以利用操作系统提供的互斥锁来实现同步块的互斥访问及线程的阻塞及唤醒等工作。然而在Java中除了提供Lock API外还在语法层面上提供了synchronized关键字来实现互斥同步原语。那么到底在JVM内部是怎么实现synchronized关键子的呢?一、synchroniz.....
分类:
其他好文 时间:
2014-08-05 10:47:19
阅读次数:
386
/* class Person{ String name; String sex; boolean flag = true; public void setPerson(String name, String sex){ this.sex=sex; this.na...
分类:
编程语言 时间:
2014-08-04 01:55:16
阅读次数:
221
SurfaceFlinger自启动之后,主要有三种类型线程参与工作:
1.binder线程,负责监控binder设备完成与客户端的交接
2.控制台事件监控线程,负责监控硬件帧缓冲区的睡眠/唤醒状态切换事件。
3.UI渲染线程,负责渲染UI。
一 UI渲染线程
UI渲染线程平时是处于休眠状态,一旦binder线程监测到有其他进程发过来的请求渲染UI的消息就会唤醒UI渲染线程,另一...
分类:
移动开发 时间:
2014-08-01 13:42:01
阅读次数:
430
这几天自己学习了一下线程的知识,wait 方法使当前的线程等待,notify 方法 唤醒当前的线程的方法th 线程在5的时候进行wait,此时主线程继续执行, 主线程执行到9的时候 唤醒 th 线程public class ThreadDemo1 { public static void main(...
分类:
编程语言 时间:
2014-07-31 16:51:56
阅读次数:
264
虽然以前用过多线程,但是时间一久再用的话还会出不少问题。我的项目中用到了多线程,为了实现异步请求的效果。主线程负责创建异步请求对象,并将其插入到请求队列中去,如果队列原先为空,则唤醒异步线程,然后直接返回。异步线程则从请求队列中取出异步请求对象,然后调用相关的功能接口,并实现回调。 但当我调试...
分类:
编程语言 时间:
2014-07-27 21:31:45
阅读次数:
208
在android端做即时消息的时候,遇到的坑点是怎么保证消息即时性,又不耗电。为什么这么说呢?
原因是如果要保证消息即时性,通常有两种机制pull或者push。pull定时轮询机制,比较浪费服务器资源;push服务器推送机制,需要保持长连接,客户端和服务器都要求比较高(网络环境,服务器保持连接数等),它们的详细优缺点不描述了。上面这两种机制都要求客户端长期处于活动状态,前提是cpu处于...
分类:
移动开发 时间:
2014-07-26 02:21:06
阅读次数:
479