-
Notifications
You must be signed in to change notification settings - Fork 780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019-08-08:谈一谈线程sleep()和wait()的区别? #117
Comments
wait:资源不持有,object方法 |
wait: 释放锁 |
sleep 是Thread类的方法,wait是Object类的方法 |
wait()的线程状态能够被notify,notufyall唤醒,而sleep()的线程状态不能被唤醒。 |
sleep()和wait() CPU时间片都会释放 |
sleep 也是可以被唤醒的,通过interupt方法,但是会抛出一个打断异常,只要捕获它,程序依然能够继续执行。 |
sleep是Thread里面的方法,wait是Object里面的方法 |
sleep 是Thread的 wait是Object的 |
我想提另外一个问题, thread.yield 和 thread.join
|
wait是Object中的方法,sleep是Thread中的方法 |
1.sleep是Thread的静态方法,所以通过对象名.sleep()调用并不会使得该对象线程进入休眠,而是当前线程进入休眠,wait()是Object类中的方法,因为锁对象是任意的,而Object类是所有类的基类。 |
我想问一个问题,wait() 之后一定要 notify 之后才能唤醒嘛 ?
运行结果是这样的,这里并没有 notify ,wait 之后的代码也运行了,这是为什么 ?
|
截止今天,关于线程的面试题我能想到的问题基本上都问了。大家看有没有什么我没想到的问题,可以去问题征集区填写下。或者直接群里发出来也行。
The text was updated successfully, but these errors were encountered: