「休眠操作java」休眠操作无法执行
本篇文章给大家谈谈休眠操作java,以及休眠操作无法执行对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA中如何实现多个线程进行不同时间的休眠
- 2、java 中sleep()方法或者wait()方法的使用
- 3、java怎样休眠1秒钟?
- 4、java代码怎么控制android休眠和唤醒?
- 5、java中的sleep()方法
- 6、java如何用Runnable实现让这线程断断续续的休眠?
JAVA中如何实现多个线程进行不同时间的休眠
public class A extends Thread {
private long times;
public setTimes(long times){
this.times = times ;
}
public A(){}
//或者
// public A(long times){
// this.times = times
// }
public void run{
dosomething
this.sleep(times);
}
public static void main(String[] args) {
A a1 = new A(1000);
A a2 = new A();
a2.setTimes = 2000;
A a3 = new A(3000);
a1.start();
a2.start();
a3.start();
}
}
java 中sleep()方法或者wait()方法的使用
简单说:sleep由线程自动唤醒,wait必须显示用代码唤醒。
sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行,例如:
try{
System.out.println("I'm going to bed");
Thread.sleep(1000);
System.out.println("I wake up");
}
catch(IntrruptedException e) {
}
wait是Object的方法,也就是说可以对任意一个对象调用wait方法,调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者,例如:
//Thread 1
try{
obj.wait();//suspend thread until obj.notify() is called
}
catch(InterrputedException e) {
}
java怎样休眠1秒钟?
这是线程问题,用sleep()方法,括号里面填睡眠时间,以毫秒为单位,1秒就填1000。
java代码怎么控制android休眠和唤醒?
唤醒:android.intent.action.SCREEN_ON (代码)
休眠:android.intent.action.SCREEN_OFF (代码)
android系统一段时间没有操作,
屏幕(screen)将从高亮(bright)变为暗淡(dim),如果再过段时间还是没有操作,屏幕(screen)从暗淡(dim)变为关闭(off).这时,系统将进入休眠.
而对于某些需要保持系统唤醒甚至屏幕唤醒的应用(比如视频播放器和音乐播放器)来说,就必须要有一个机制,使得系统不进入休眠状态,设置保持屏幕亮屏状态.
wakelock即用来实现以上目的
接下来对每一个模块具体分析:
powermanager
对应文件是android/frameworks/base/core/java/android/os/PowerManager.java
在Android中应用程序并不是直接同PowerManagerService交互的,而是通过PowerManager间接地与PowerManagerService打交道。
此文件定义了一个powermanager类.
主要实现了
1,wakelock的申请与释放
public WakeLock newWakeLock(int flags, String tag)
2,系统延时进入休眠
public void userActivity(long when, boolean noChangeLights)
3,系统强制休眠
public void goToSleep(long time)
4,屏幕亮度设置
public void setBacklightBrightness(int brightness)
5,屏幕状态查询
public boolean isScreenOn()
6,系统重启
public void reboot(String reason)
细节
wakelock的申请与释放
{@samplecode
*PowerManager pm = (PowerManager)mContext.getSystemService(
* Context.POWER_SERVICE);
*PowerManager.WakeLock wl = pm.newWakeLock(
* PowerManager.SCREEN_DIM_WAKE_LOCK
* | PowerManager.ON_AFTER_RELEASE,
* TAG);
*wl.acquire();
* // ...
*wl.release();
一共有如下几个flag来进行不一样的唤醒方式.可以根据需要设置
Flag Value CPU Screen Keyboard
PARTIAL_WAKE_LOCK On* can-off Off
SCREEN_DIM_WAKE_LOCK On Dim Off
PROXIMITY_SCREEN_OFF_WAKE_LOCK on 距离传感器时关闭 off
SCREEN_BRIGHT_WAKE_LOCK On Bright Off
FULL_WAKE_LOCK On Bright Bright
ACQUIRE_CAUSES_WAKEUP 确保wakelock,主要用于视频播放器
ON_AFTER_RELEASE = 0x20000000 release后倒计时,关闭屏幕
...
userActivity的作用:
使系统从其他状态进入全部打开状态,比如从暗屏(dim)切换到亮屏,并重置倒计时计数器
java中的sleep()方法
1.所有这些语句都必须在方法里面写,类里面只能存在属性和方法。不存在语句
2.thread.sleep()需要捕捉异常,加try/catch
java如何用Runnable实现让这线程断断续续的休眠?
R r=new R(); 没有必要,等于每个R对象运行时就会产生一个新的R对象,好在你没让它运行起来。否则内存递推很快就满了。
talentwei8899说的对,直接使用Thread.CurrentThread.sleep(1000);
休眠的是当前线程。
若想让进程休眠时间不同,休眠的时间可取个随机数。
关于休眠操作java和休眠操作无法执行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。