package com.kaibing.thread; /** * 线程的通信 * * wati() * notify():随机唤醒一个 * notifyAll():全部唤醒 */ class PrintNum implements Runnable { int num = 1; @Override... ...
分类:
编程语言 时间:
2018-06-27 14:07:34
阅读次数:
180
假设有这样一个应用场景,一个服务一直在默默的工作(比如即时地获取服务器的消息),即使在屏幕已经因为长时间无操作而关闭,或者用户按了电源键让屏幕关闭,手机进入休眠状态,他必须依然在工作中。一旦从服务器获取到消息,他能点亮屏幕,然后进行一些处理工作。 1、让服务持续运行而不受手机休眠的影响,要这样处理: ...
分类:
移动开发 时间:
2018-06-25 15:04:06
阅读次数:
206
应用程序访问1个设备文件时可用阻塞/非阻塞方式.如果是使用阻塞方式,则直接调用open()、read()、write(),但是在驱动程序层会判断是否可读/可写,如果不可读/不可写,则将当前进程休眠,直到被唤醒。如果是使用非阻塞方式,就需要采用poll/select机制,而且打开文件时标记文件的访问权 ...
分类:
系统相关 时间:
2018-06-23 21:10:28
阅读次数:
377
Description 你的朋友Mishka和你参加一个微积分讲座。讲座持续n分钟。讲师在第i分钟讲述ai个定理。 米什卡真的对微积分很感兴趣,尽管在演讲的所有时间都很难保持清醒。给你一个米什卡行为的数组t。如果Mishka在演讲的第一分钟睡着了,那么ti将等于0,否则它将等于1.当米什卡醒来时,他 ...
分类:
其他好文 时间:
2018-06-23 15:41:59
阅读次数:
160
今天,当一个程序在epoll_wait阻塞时,用strace跟踪了一下,结果epoll_wait就被EINTR唤醒了,并且返回-1; 所以,当epoll_wait返回-1时,需要判断errno是不是EINTR,如果是,继续epoll_wait就行了。 还有,当一个进程没有子进程的时候,调用wait( ...
分类:
其他好文 时间:
2018-06-22 01:05:43
阅读次数:
132
1,notify的同步块完了,才会运行wait的同步块 2,interrupt()不是静态方法,用在wait的线程上会有InteruptException,锁也会被释放 3,notify()唤醒的线程是随机的,以前不知道唤醒哪个,了解到notify是object对象有的,哪个用相关的对象锁了,就会解 ...
分类:
编程语言 时间:
2018-06-14 01:07:26
阅读次数:
175
PowerManager 与 WakeLock PowerManager 用来控制设备的电源状态. 而PowerManager.WakeLock 也称作唤醒锁, 是一种保持 CPU 运转防止设备休眠的方式. 我们经常需要应用保持高亮, 比如看小说. 或者即使屏幕关闭后台也能保持运行, 比如播放MP3 ...
分类:
其他好文 时间:
2018-06-13 00:19:57
阅读次数:
195
微信、支付宝、爱贝、苹果内购、Molpay、Xsolla支付 H5打包实现APP唤醒支付宝和微信支付 1、支付宝支付唤醒cordova插件Url: https://github.com/charleyw/cordova plugin alipay 需要配置支付宝商户平台 构单时配置支付成功回调接口 ...
分类:
移动开发 时间:
2018-06-09 13:12:09
阅读次数:
582
当多个client对server发出请求的时候,如果server忙不过来的时候会创建多线程来处理请求 那么忙不过来由谁来判断? server进程有个binder_proc结构体,其里面有todo链表(放有client发过来的数据),并且会唤醒等待在binder_proc.wait上的线程,如果有线程 ...
分类:
编程语言 时间:
2018-06-07 19:23:51
阅读次数:
212
(1)select,poll实现需要自己不断轮询所有fd集合,直到设备就绪,期间可能要睡眠和唤醒多次交替。而epoll其实也需要调用epoll_wait不断轮询就绪链表,期间也可能多次睡眠和唤醒交替,但是它是设备就绪时,调用回调函数,把就绪fd放入就绪链表中,并唤醒在epoll_wait中进入睡眠的 ...
分类:
其他好文 时间:
2018-06-04 16:34:20
阅读次数:
118