sleep和wait有什么区别阿? sleep:在睡觉,要睡够了你才叫得醒wait:在等你叫它 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 1try{ obj.wait();//suspend thread until obj.notify() is called}catch(InterrputedException e) {} sleep和wait的挂起是不会消耗CPU资源的 public class b4_01_04{ public static void main(String args[]){ mt414 r1=new mt414("多多1号机"); mt414 r2=new mt414("多多2号机"); Thread t1=new Thread(r1); Thread t2=new Thread(r2); t1.start(); t2.start(); }}class mt414 implements Runnable{ private String name; public mt414(String str1){ name=str1; } public void run(){ for(int i=0;i<10000;i++){ try{ System.out.println(name+":"+(int)((Math.random()*42+1))); Thread.sleep(1000); }catch(InterruptedException e){return;} } }}sleep的例子你运行看一下就明白了. synchronized锁定机制可以避免线程间的相互影响,但是我们还需要一种能在线程间进行通信的方法。为达此目地,wait方法允许线程等待,直到某条件成立,通知方法(notificationmethod)notify和notifyAll 我在书上看到wait和sleep的最大区别是wait可以释放当前线程锁定的任何对象,而sleep不能。可是一个线程sleep后难道还保持着对该线程所拥有的对象的锁定吗? 回复人: liuchunjp() ( ) 信誉:100 2005-3-1 13:54:02 得分: 0 sleep几乎不耗费资源 //============================================= 回复人: Polarislee(北极星)(灌水是我无言的抗议) ( ) 信誉:110 2005-3-1 14:19:09 得分: 0 sleep和wait的挂起是不会消耗CPU资源的//============================================楼上说的对我都是一个惊喜!是真的吗?我记得在什么地方见过 说:sleep()是什么什么建立了一个内循环,是非常消耗资源的?不知道是怎么回事. short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) 变量的生命周期 如何写一个高效的分词包 请问能不能用JAVA代码提取出EXE文件的图标 最新!!!!!!!!!!!!!!!!!!!!!11 >>>关于VC中的变量与JAVA中的变量的对应关系<<< struts是什么? 有谁会这题??? Jet有什么用,怎么用? 如何解析一个字符串成日期 用udp来传文件可行吗? 如何取float型数值的位数
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 1try{
obj.wait();//suspend thread until obj.notify() is called
}
catch(InterrputedException e) {
}
{
public static void main(String args[]){
mt414 r1=new mt414("多多1号机");
mt414 r2=new mt414("多多2号机");
Thread t1=new Thread(r1);
Thread t2=new Thread(r2);
t1.start();
t2.start();
}
}
class mt414 implements Runnable{
private String name;
public mt414(String str1){
name=str1;
}
public void run(){
for(int i=0;i<10000;i++){
try{
System.out.println(name+":"+(int)((Math.random()*42+1)));
Thread.sleep(1000);
}catch(InterruptedException e){return;}
}
}
}
sleep的例子你运行看一下就明白了.
可是一个线程sleep后难道还保持着对该线程所拥有的对象的锁定吗?
sleep几乎不耗费资源
//=============================================
回复人: Polarislee(北极星)(灌水是我无言的抗议) ( ) 信誉:110 2005-3-1 14:19:09 得分: 0
sleep和wait的挂起是不会消耗CPU资源的
//============================================楼上说的对我都是一个惊喜!
是真的吗?我记得在什么地方见过 说:
sleep()是什么什么建立了一个内循环,是非常消耗资源的?
不知道是怎么回事.